
/* WARNING: Type propagation algorithm not settling */
/* DWARF original prototype: void exprCodeBetween(Parse * pParse, Expr * pExpr, int dest,
   _func_void_Parse_ptr_Expr_ptr_int_int * xJump, int jumpIfNull, Expr * pExpr) */

void exprCodeBetween(Parse *pParse,Expr *pExpr,int dest,_func_void_Parse_ptr_Expr_ptr_int_int *xJump
                    ,int jumpIfNull,Expr *pExpr_1)

{
  byte bVar1;
  Bitmask BVar2;
  Expr **ppEVar3;
  WhereInfo **ppWVar4;
  uint uVar5;
  undefined8 uVar6;
  int in_zero;
  int iVar7;
  int *piVar8;
  WhereInfo *pWVar9;
  ushort uVar17;
  byte *pbVar10;
  byte bVar18;
  undefined4 uVar11;
  char cVar19;
  u8 uVar20;
  WhereClause *pWVar12;
  sqlite3 *psVar13;
  undefined4 uVar14;
  int iVar15;
  uint uVar16;
  WhereInfo *pParse_00;
  uint uVar21;
  ushort uVar26;
  int iVar22;
  Expr *pEVar23;
  VTable *pVVar24;
  uint uVar25;
  undefined1 uVar27;
  Parse *pPVar28;
  WhereInfo *pWVar29;
  ynVar yVar30;
  short sVar31;
  WhereInfo *pWC;
  uint uVar32;
  int iVar33;
  WhereInfo *pWVar34;
  undefined4 in_t0;
  WhereTerm *pWVar35;
  WhereInfo *pWVar36;
  ExprList *pEVar37;
  uint uVar38;
  undefined4 in_t1;
  char *pcVar39;
  char *pcVar40;
  WhereInfo *pWVar41;
  WhereInfo *in_t2;
  WhereInfo *in_t3;
  WhereInfo *in_t4;
  WhereInfo *in_t5;
  WhereInfo *in_t6;
  WhereInfo *pWVar42;
  code *pcVar43;
  WhereInfo *pWVar44;
  int iVar45;
  Expr *pEVar46;
  int *piVar47;
  int *piVar48;
  WhereInfo *pWVar49;
  sqlite3 *psVar50;
  ExprList_item *pEVar51;
  WhereInfo *pWVar52;
  sqlite3 *psVar53;
  bool bVar54;
  undefined1 *puVar55;
  WhereInfo *pWVar56;
  undefined *puVar57;
  _func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr
  *p_Var58;
  code *pcVar59;
  undefined8 uVar60;
  Bitmask BVar61;
  ulonglong uVar62;
  ulonglong uVar63;
  Bitmask BVar64;
  WhereInfo *pWVar65;
  WhereInfo *pWVar66;
  WhereMaskSet *pWStack_1b8;
  code *pcStack_1b0;
  WhereInfo *pWStack_1a4;
  WhereInfo *pWStack_19c;
  uint uStack_198;
  uint uStack_194;
  WhereInfo *pWStack_190;
  WhereInfo *pWStack_18c;
  WhereInfo *pWStack_188;
  Bitmask *pBStack_184;
  Parse *pPStack_180;
  sqlite3 *psStack_17c;
  WhereInfo *pWStack_178;
  code *pcStack_174;
  void *pvStack_164;
  Parse *pPStack_160;
  anon_union_4_3_737c4e49_for_u aStack_15c;
  byte bStack_158;
  byte bStack_157;
  byte bStack_156;
  byte bStack_155;
  ExprList *pEStack_154;
  Expr *pEStack_150;
  Expr *pEStack_14c;
  WhereInfo *pWStack_148;
  WhereInfo *pWStack_144;
  Parse *pPStack_140;
  undefined *puStack_13c;
  _func_void_Parse_ptr_Expr_ptr_int_int *p_Stack_138;
  int iStack_134;
  int iStack_130;
  WhereLoop *pWStack_12c;
  Expr *pEStack_120;
  int regFree1;
  Expr exprAnd;
  Expr compLeft;
  Expr compRight;
  Expr exprX;
  
  pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c;
  pWVar49 = (WhereInfo *)&exprAnd;
  regFree1 = 0;
  compLeft.op = '\0';
  compLeft.affinity = '\0';
  compLeft._2_2_ = 0;
  compLeft.flags = 0;
  compLeft.u.zToken = (char *)0x0;
  compLeft.pLeft = (Expr *)0x0;
  compLeft.pRight = (Expr *)0x0;
  compLeft.x.pList = (ExprList *)0x0;
  compLeft.nHeight = 0;
  compLeft.iTable = 0;
  compLeft.iColumn = 0;
  compLeft.iAgg = 0;
  compLeft.iRightJoinTable = 0;
  compLeft.op2 = '\0';
  compLeft._41_3_ = 0;
  compLeft.pAggInfo = (AggInfo *)0x0;
  compLeft.y.pTab = (Table *)0x0;
  compLeft.y.sub.regReturn = 0;
  compRight.op = '\0';
  compRight.affinity = '\0';
  compRight._2_2_ = 0;
  iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c;
  compRight.flags = 0;
  exprAnd.op = '\0';
  exprAnd.affinity = '\0';
  exprAnd._2_2_ = 0;
  compRight.u.zToken = (char *)0x0;
  compRight.pLeft = (Expr *)0x0;
  compRight.pRight = (Expr *)0x0;
  compRight.x.pList = (ExprList *)0x0;
  compRight.nHeight = 0;
  compRight.iTable = 0;
  compRight.iColumn = 0;
  compRight.iAgg = 0;
  compRight.iRightJoinTable = 0;
  compRight.op2 = '\0';
  compRight._41_3_ = 0;
  compRight.pAggInfo = (AggInfo *)0x0;
  compRight.y.pTab = (Table *)0x0;
  compRight.y.sub.regReturn = 0;
  exprAnd.flags = 0;
  exprAnd.u.zToken = (char *)0x0;
  exprAnd.pLeft = (Expr *)0x0;
  exprAnd.pRight = (Expr *)0x0;
  exprAnd.x.pList = (ExprList *)0x0;
  exprAnd.nHeight = 0;
  exprAnd.iTable = 0;
  exprAnd.iColumn = 0;
  exprAnd.iAgg = 0;
  exprAnd.iRightJoinTable = 0;
  exprAnd.op2 = '\0';
  exprAnd._41_3_ = 0;
  exprAnd.pAggInfo = (AggInfo *)0x0;
  exprAnd.y.pTab = (Table *)0x0;
  exprAnd.y.sub.regReturn = 0;
  uVar11._0_1_ = pExpr->op;
  uVar11._1_1_ = pExpr->affinity;
  uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2;
  pWVar34 = (WhereInfo *)xJump;
  (*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11);
  exprAnd.op = 0x2c;
  compLeft.op = 0x39;
  compRight.op = 0x37;
  compLeft.pRight = *(Expr **)(*(int *)dest + 4);
  compRight.pRight = *(Expr **)(*(int *)dest + 0x18);
  exprAnd.pLeft = &compLeft;
  exprAnd.pRight = &compRight;
  compLeft.pLeft = &exprX;
  compRight.pLeft = &exprX;
  exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1);
  exprX.op2 = exprX.op;
  exprX.flags = exprX.flags & 0xffffefff;
  exprX.op = 0xa4;
  pPVar28 = pParse;
  pEVar46 = (Expr *)xJump;
  if (jumpIfNull == 0) {
    exprX.flags = exprX.flags | 1;
    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);
  }
  else {
    (*(code *)jumpIfNull)(pParse,pWVar49);
    pWVar34 = (WhereInfo *)pExpr_1;
  }
  pWC = (WhereInfo *)regFree1;
  if (regFree1 != 0) {
    pPVar28 = pParse;
    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();
  }
  if (iVar7 == *(int *)pWVar29) {
    return;
  }
  pcVar59 = exprAnalyze;
  puVar57 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar8 = *(int **)(puVar57 + 0x96f64);
  iStack_134 = jumpIfNull;
  puStack_13c = (undefined *)pWVar29;
  pWVar42 = (WhereInfo *)pWC->pParse;
  pEStack_154 = (ExprList *)*piVar8;
  pParse_00 = (WhereInfo *)pWVar42->pParse;
  pWVar9 = (WhereInfo *)pParse_00->pParse;
  pWVar52 = (WhereInfo *)&exprX;
  psVar53 = (sqlite3 *)pParse;
  pWVar56 = (WhereInfo *)xJump;
  pEStack_150 = &compRight;
  pEStack_14c = &compLeft;
  pWStack_148 = pWVar49;
  pWStack_144 = (WhereInfo *)&exprX;
  pPStack_140 = pParse;
  p_Stack_138 = xJump;
  iStack_130 = dest;
  pWStack_12c = (WhereLoop *)pcVar59;
  pEStack_120 = pEVar46;
  BVar64 = CONCAT44(in_t1,in_t0);
  BVar61 = CONCAT44(pWStack_190,pWStack_18c);
  if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') goto LAB_000c4c58;
  pWVar35 = *(WhereTerm **)&pWC->iLimit;
  pWStack_1b8 = &pWVar42->sMaskSet;
  pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30);
  pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);
  pWVar56 = (WhereInfo *)pWVar52->pParse;
  pWVar29 = pWC;
  if ((Expr *)pWVar56->pResultSet == (Expr *)0x0) {
    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;
    uVar60 = 0;
    uVar6 = 0;
    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;
LAB_000c4cac:
    uVar60 = uVar6;
    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);
    pWVar49 = (WhereInfo *)uVar60;
    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);
    BVar64 = CONCAT44(in_t1,pWVar35);
    BVar61 = CONCAT44(pWStack_190,pWStack_18c);
    if (iVar7 != 0) goto LAB_000c4c58;
    if (((uint)pWVar56->pTabList & 0x800) == 0) {
      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {
        BVar61 = 0;
      }
      else {
        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);
      }
    }
    else {
      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);
    }
    iVar7 = *(int *)(puVar57 + 0x96c38);
    *(Bitmask *)&pWVar52->iContinue = BVar61;
    pcStack_1b0 = (code *)(iVar7 + -0x2d10);
  }
  else {
    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();
    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;
    uVar6 = uVar60;
    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;
LAB_000c4b90:
    iVar7 = *(int *)(puVar57 + 0x96c38);
    if (psVar53 == (sqlite3 *)0x32) {
      pWVar52->iContinue = 0;
      pcStack_1b0 = (code *)(iVar7 + -0x2d10);
      pWVar52->iBreak = 0;
    }
    else {
      if (pWVar56->pWhere == (Expr *)0x0) {
        BVar61 = 0;
      }
      else {
        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);
      }
      pcStack_1b0 = (code *)(iVar7 + -0x2d10);
      *(Bitmask *)&pWVar52->iContinue = BVar61;
    }
  }
  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);
  pWVar49 = (WhereInfo *)uVar60;
  (pWVar42->sMaskSet).bVarSelect = 0;
  BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56);
  if ((pWVar42->sMaskSet).bVarSelect != 0) {
    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;
  }
  if (((uint)pWVar56->pTabList & 1) == 0) {
    uStack_198 = 0;
    uStack_194 = 0;
  }
  else {
    uVar32 = (pWVar42->sMaskSet).n;
    if ((int)uVar32 < 1) {
LAB_000c4c3c:
      iVar7 = *(int *)(puVar57 + 0x96b34);
LAB_000c4c40:
      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);
      BVar64 = BVar61;
      BVar61 = CONCAT44(pWStack_190,pWStack_18c);
      goto LAB_000c4c58;
    }
    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {
      uVar21 = 0;
      uStack_198 = 0;
      uVar32 = 1;
      uStack_194 = 0;
    }
    else {
      piVar47 = (pWVar42->sMaskSet).ix;
      uVar21 = 0;
      do {
        piVar47 = piVar47 + 1;
        uVar21 = uVar21 + 1;
        if (uVar21 == uVar32) goto LAB_000c4c3c;
      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);
      uVar32 = 1 << (uVar21 & 0x1f);
      if ((uVar21 & 0x20) == 0) {
        uVar21 = 0;
      }
      else {
        uVar21 = uVar32;
        uVar32 = 0;
      }
      uStack_194 = uVar32 - 1;
      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);
    }
    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;
    uVar25 = (uint)BVar61 | uVar32;
    BVar61 = CONCAT44(uVar38,uVar25);
    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);
    if (uVar21 <= uVar38 >> 1) {
      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;
      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {
        iVar7 = *(int *)(puVar57 + 0x96b34);
        goto LAB_000c4c40;
      }
    }
  }
  pWVar41 = (WhereInfo *)(BVar61 >> 0x20);
  pWVar36 = (WhereInfo *)BVar61;
  puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3);
  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;
  *(u16 *)&pWVar52->pResultSet = 0;
  *(int *)&pWVar52->iLimit = -1;
  pWVar52->pWhere = (Expr *)0xffffffff;
  pWVar44 = pWVar52;
  BVar64 = BVar61;
  if ((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))) {
    if (*(byte *)&pWVar56->pParse == 0x30) {
      iVar7 = *(int *)(puVar57 + 0x96dac);
      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;
      uVar11 = 0x39;
      bVar54 = false;
      iVar45 = *(int *)(puVar57 + 0x96c38);
      iVar33 = *(int *)(puVar57 + 0x96c78);
      iVar22 = *(int *)(puVar57 + 0x96c38);
      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;
      while( true ) {
        jumpIfNull = (int)pWVar56->pResultSet;
        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {
          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);
        }
        pWVar34 = (WhereInfo *)pEVar51->pExpr;
        if (pWVar34 != (WhereInfo *)0x0) {
          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);
        }
        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);
        if (iVar15 != 0) {
          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;
          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);
        }
        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);
        pEVar51 = pEVar51 + 1;
        uVar60 = CONCAT44(pWStack_1a4,pEVar51);
        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);
        pWVar35 = *(WhereTerm **)&pWC->iLimit;
        pWVar35[iVar15].iParent = (int)pEStack_120;
        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =
             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;
        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =
             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';
        uVar11 = 0x37;
        if (bVar54) break;
        bVar54 = true;
      }
      psVar53 = (sqlite3 *)0x1;
      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);
      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);
      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);
      BVar64 = CONCAT44(pWVar41,pWVar35);
    }
    else {
      pWVar34 = (WhereInfo *)0x1a0;
      if (*(byte *)&pWVar56->pParse == 0x2b) {
        pWStack_1a4 = (WhereInfo *)pWC->pParse;
        pPStack_180 = pWStack_1a4->pParse;
        psVar53 = pPStack_180->db;
        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);
        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;
        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);
        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;
        pWVar29 = pWStack_18c;
        pWVar49 = pWStack_1a4;
        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;
        pcVar59 = *(code **)(puVar57 + 0x96eec);
        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =
             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;
        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);
        pWVar52->pParse = (Parse *)pWStack_1a4;
        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;
        pWVar52->pTabList = (SrcList *)0x0;
        iVar7 = *(int *)(puVar57 + 0x96c38);
        pWVar52->pResultSet = (ExprList *)0x0;
        *(undefined4 *)&pWVar52->iLimit = uVar11;
        pcStack_174 = (code *)(iVar7 + -0x70f0);
        pWVar52->pWhere = (Expr *)0x8;
        (*pcStack_174)(pWVar52,pWStack_178,0x2b);
        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);
        if ((int)pWVar49 < 0) {
          pWVar42 = pWStack_18c;
          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;
        }
        else {
          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;
          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);
          do {
            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);
            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);
            pWVar49 = (WhereInfo *)puVar55;
          } while (puVar55 != (undefined1 *)0xffffffff);
          pWVar49 = (WhereInfo *)0xffffffff;
          pWVar29 = (WhereInfo *)0xffffffff;
          pWStack_190 = (WhereInfo *)jumpIfNull;
          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;
          in_t2 = (WhereInfo *)pWVar52->pResultSet;
          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);
          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;
          pWVar42 = (WhereInfo *)0xffffffff;
          if (-1 < (int)pWVar49) {
            uVar32 = 0xffffffff;
            pWStack_188 = (WhereInfo *)0xffffffff;
            jumpIfNull = -1;
            pBStack_184 = (Bitmask *)0xffffffff;
            pWVar42 = (WhereInfo *)0xffffffff;
            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);
            goto LAB_000c5ae4;
          }
        }
        (pWVar52->sWC).aStatic[6].leftCursor = -1;
        uVar32 = 0xffffffff;
        (pWVar52->sWC).aStatic[6].iParent = -1;
        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;
        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';
        pEVar37 = pWVar52->pResultSet;
        jumpIfNull = -1;
        pWVar29 = pWVar52;
        psStack_17c = psVar53;
        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;
        goto LAB_000c6e58;
      }
    }
    goto LAB_000c4d78;
  }
  pEVar23 = (Expr *)pWVar56->pResultSet;
  if (pEVar23 != (Expr *)0x0) {
    uVar32 = pEVar23->flags;
    while ((uVar32 & 0x1000) != 0) {
      if ((uVar32 & 0x40000) == 0) {
        pEVar23 = pEVar23->pLeft;
      }
      else {
        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;
      }
      if (pEVar23 == (Expr *)0x0) break;
      uVar32 = pEVar23->flags;
    }
  }
  jumpIfNull = (int)pWVar56->pWhere;
  if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {
    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;
    while (((uint)pWVar12 & 0x1000) != 0) {
      if (((uint)pWVar12 & 0x40000) == 0) {
        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;
      }
      else {
        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->
                          pList->a[0].pExpr;
      }
      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;
      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;
    }
  }
  uVar26 = 0x1fff;
  if ((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0) {
    uVar26 = 0x800;
  }
  if (0 < pWVar52->aiCurOnePass[0]) {
    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;
  }
  iVar45 = *(int *)(puVar57 + 0x96c4c);
  pWVar34 = pWVar49;
  iVar7 = (*(code *)(iVar45 + -0x28cc))
                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53);
  if (iVar7 != 0) {
    *(Parse **)&pWVar52->iLimit = pPStack_160;
    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;
    if (psVar53 == (sqlite3 *)&DAT_00000031) {
      uVar17 = 1;
    }
    else {
      uVar17 = 0x100;
      if (psVar53 != (sqlite3 *)0x32) {
        if (psVar53 == (sqlite3 *)0x2d) {
          uVar17 = 0x80;
        }
        else {
          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));
        }
      }
    }
    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;
  }
  if (psVar53 == (sqlite3 *)0x2d) {
    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;
  }
  pWVar42 = (WhereInfo *)&pPStack_160;
  pWStack_190 = pWVar41;
  pWStack_18c = pWVar36;
  if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4d78;
  pWVar34 = (WhereInfo *)pWVar52->iBreak;
  pWVar65 = (WhereInfo *)&pPStack_160;
  pWVar66 = (WhereInfo *)jumpIfNull;
  psVar50 = psVar53;
  iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28);
  if (iVar7 == 0) goto LAB_000c4d78;
  BVar2 = BVar61;
  if (*(int *)&pWVar52->iLimit < 0) {
    pEVar46 = (Expr *)pWVar56->pResultSet;
    uVar32 = 0;
    jumpIfNull = (int)pWVar56;
  }
  else {
    pWVar34 = (WhereInfo *)0x0;
    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))
                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);
    BVar64 = BVar61;
    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {
      pWVar42 = pWVar9;
      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;
      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);
      goto LAB_000c4c58;
    }
    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);
    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);
    if (iVar7 == 0) goto LAB_000c4c58;
    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);
    pWVar52->pWhere = pEStack_120;
    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =
         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;
    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =
         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';
    if (psVar53 == (sqlite3 *)0x2d) {
      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;
    }
    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);
    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;
    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;
    uVar32 = uVar17 & 0x80;
    if ((uVar17 & 0x80) == 0) {
      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||
          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&
         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {
        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);
        iVar7 = (*pcVar59)(pEVar46);
        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);
        pWStack_188 = pWVar36;
        if (iVar7 == iVar45) {
          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
        }
        else {
          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
          BVar2 = CONCAT44(pcVar59,pWVar41);
          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))
          goto LAB_000c5710;
        }
        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))
                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);
        if (iVar7 == 0) {
LAB_000c5964:
          uVar17 = *(ushort *)&pWVar44->pResultSet;
LAB_000c5968:
          uVar32 = 0x800;
          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;
        }
        else {
          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&
             (*(int *)(iVar7 + 8) == 0)) {
            uVar17 = *(ushort *)&pWVar44->pResultSet;
            goto LAB_000c5968;
          }
          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))
                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,
                             ((WhereInfo *)jumpIfNull)->pWhere);
          if (iVar7 != 0) goto LAB_000c5964;
        }
        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
        BVar2 = BVar61;
      }
    }
    else {
      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
      uVar32 = 0;
    }
  }
LAB_000c5710:
  pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;
  uVar21 = pEVar23->flags & 0x100;
  if (uVar21 == (pEVar46->flags & 0x100)) {
    if (uVar21 == 0) {
      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);
      if (iVar7 != 0) {
        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =
             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;
      }
      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;
      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
      BVar2 = BVar61;
    }
    else {
      pEVar23->flags = pEVar23->flags & 0xfffffeff;
      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;
      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;
    }
  }
  pWStack_190 = (WhereInfo *)(BVar2 >> 0x20);
  pWStack_18c = (WhereInfo *)BVar2;
  ((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23;
  ((WhereInfo *)jumpIfNull)->pWhere = pEVar46;
  if (0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse) {
    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =
         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;
  }
  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;
  pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4;
  uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49);
  pWVar52->iBreak = uStack_194 | (uint)pWVar49;
  *(Parse **)&pWVar52->iLimit = pPStack_160;
  *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;
  uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse;
  if (uVar21 == 0x31) {
    uVar21 = 1;
  }
  else if (uVar21 == 0x32) {
    uVar21 = 0x100;
  }
  else if (uVar21 == 0x2d) {
    uVar21 = 0x80;
  }
  else {
    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;
  }
  psVar53 = (sqlite3 *)(uVar32 + uVar21);
  *(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26;
  pWVar42 = pWVar52;
  BVar64 = BVar61;
LAB_000c4d78:
  pWVar52 = pWVar44;
  BVar61 = BVar64;
  if (*(char *)&pWC->pOrderBy == ',') {
    uVar32 = (uint)*(byte *)&pWVar56->pParse;
    if (uVar32 == 0x9d) {
      pWVar34 = (WhereInfo *)0x1;
      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {
        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;
        pWVar42 = (WhereInfo *)pParse_00->pParse;
        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))
                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,
                           iVar45,1,0);
        pWVar49 = (WhereInfo *)BVar64;
        if (iVar7 == 0) {
LAB_000c55a8:
          cVar19 = *(char *)&pWC->pOrderBy;
          pWVar52 = pWVar44;
        }
        else {
          pWStack_190 = *(WhereInfo **)(iVar7 + 4);
          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;
          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;
          if (2 < iVar45) {
            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;
            if (*pcVar39 == 'j') {
              pbVar10 = *(byte **)(pcVar39 + 8);
              bVar18 = *pbVar10;
              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;
            }
            goto LAB_000c55a8;
          }
          bStack_155 = 0;
          bVar18 = bStack_155;
LAB_000c50e4:
          bStack_155 = bVar18;
          pbVar10 = *(byte **)(iVar7 + 8);
          pEVar46 = pEVar37->a[0].pExpr;
          bStack_158 = *pbVar10;
          bStack_157 = pbVar10[1];
          bStack_156 = pbVar10[2];
          if (pEVar46 == (Expr *)0x0) {
LAB_000c5154:
                    /* WARNING: Does not return */
            pcVar59 = (code *)trap(0);
            (*pcVar59)();
          }
          uVar32 = pEVar46->flags;
          while ((uVar32 & 0x1000) != 0) {
            if ((uVar32 & 0x40000) == 0) {
              pEVar46 = pEVar46->pLeft;
            }
            else {
              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;
            }
            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;
            uVar32 = pEVar46->flags;
          }
          uVar20 = pEVar46->op;
          pcVar39 = (char *)pEVar37[1].nExpr;
          if (uVar20 == 0x90) {
            psVar53 = (sqlite3 *)0x0;
            if (-1 < pWVar42->iBreak << 8) {
              iVar7 = pEVar46->iColumn;
              uVar60 = CONCAT44(pcVar39,iVar7);
              psVar53 = (sqlite3 *)
                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))
                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);
              if (psVar53 == (sqlite3 *)0x0) {
                pEVar37 = pParse_00->pOrderBy;
                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;
              }
              else {
                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);
                if (iVar45 == 3) {
                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);
                  pEVar37 = pParse_00->pOrderBy;
                  if (iVar7 < 0x20) {
                    uVar32 = 1 << (iVar7 - 1U & 0x1f);
                    uVar60 = CONCAT44(pcVar39,uVar32);
                    *(uint *)&pEVar37[8].a[0].sortOrder =
                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;
                    jumpIfNull = (int)pParse_00;
                  }
                  else {
                    *(uint *)&pEVar37[8].a[0].sortOrder =
                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;
                    jumpIfNull = (int)pParse_00;
                  }
                  goto LAB_000c517c;
                }
                pEVar37 = pParse_00->pOrderBy;
                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;
              }
              if (iVar7 < 0x20) {
                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;
                jumpIfNull = (int)pParse_00;
                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);
              }
              else {
                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;
                jumpIfNull = (int)pParse_00;
              }
            }
          }
          else {
            psVar53 = (sqlite3 *)0x0;
            if (uVar20 == 'j') {
              pbVar10 = (byte *)(pEVar46->u).zToken;
LAB_000c517c:
              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);
              iVar7 = (int)uVar60;
              if (pbVar10 != (byte *)0x0) {
                in_t4 = (WhereInfo *)(uint)*pbVar10;
                in_t2 = (WhereInfo *)(uint)bStack_157;
                in_t3 = (WhereInfo *)(uint)bStack_156;
                pWVar36 = (WhereInfo *)(uint)bStack_155;
                pWVar29 = in_t4;
                iVar45 = 0;
                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&
                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&
                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {
                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);
                  bVar54 = pWVar36 == pWVar29;
                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;
                  iVar45 = iVar7;
                  if (bVar54) {
                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;
                    iVar7 = iVar33 + 2;
                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];
                    iVar45 = iVar7;
                  }
                }
                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);
                iVar45 = iVar33;
                uVar60 = CONCAT44(pWStack_1a4,iVar7);
                if (iVar33 != 0) {
LAB_000c51d0:
                  uVar6 = CONCAT44(pcVar39,iVar45);
                  uVar60 = CONCAT44(pWStack_1a4,iVar45);
                  if (((char)pWVar34[-1].a[0].notReady != -1) &&
                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {
                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {
                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);
                    }
                    else {
                      pWStack_18c = (WhereInfo *)0x0;
                    }
                    pcVar40 = pcVar39;
                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))
                                           (pWVar42,0x6a,pbVar10);
                    pWStack_188 = pWVar36;
                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {
                      if (uVar20 == 0x90) {
LAB_000c6c34:
                        pEVar37 = pParse_00->pOrderBy;
                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;
                        if (pEVar46->iColumn < 0x20) {
                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;
                        }
                        else {
                          uVar32 = uVar32 | 0x80000000;
                        }
                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;
                        iVar7 = *(int *)(puVar57 + 0x96c10);
                        pcVar39 = pcVar40;
                        if ((pWStack_18c != (WhereInfo *)0x0) &&
                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {
                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);
                          bVar18 = cVar19 - 1;
                          if (cVar19 == '\0') {
                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;
                            *(int *)&pParse_00->wctrlFlags = iVar7;
                          }
                          else {
                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;
                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +
                                            (uint)bVar18 * 4);
                          }
                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);
                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {
                            pcVar39 = pEVar37[4].a[0].zName +
                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;
                          }
                          else {
                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);
                          }
                          pcVar39[0xc] = '\0';
                          pcVar39[0xd] = '\0';
                          pcVar39[0xe] = '\0';
                          pcVar39[0xf] = '\0';
                          if (iVar7 != 0) {
                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);
                          }
                          iVar7 = *(int *)(puVar57 + 0x96c10);
                          pcVar39 = pcVar40;
                        }
                        pWVar34 = (WhereInfo *)0x0;
                        (*(code *)(iVar7 + -0x4bcc))(psVar53);
                        pWStack_1a4 = (WhereInfo *)
                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->
                                      addrOpenEphm[0];
                        pcVar40 = pcVar39;
                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;
                      }
                      else {
                        pWVar34 = (WhereInfo *)0x0;
                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);
                        pWStack_1a4 = (WhereInfo *)
                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->
                                      addrOpenEphm[0];
                      }
                    }
                    else {
                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;
                      iVar33 = 0;
                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;
                      iVar7 = 0;
                      do {
                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);
                        iVar22 = iVar7 + 1;
                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {
                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);
                          iVar22 = iVar7 + 2;
                          bVar18 = *pbVar10;
                        }
                        iVar33 = iVar33 + 1;
                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);
                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;
                        iVar7 = iVar22;
                      } while (iVar22 < iVar45);
                      iVar7 = *(int *)(puVar57 + 0x96bcc);
                      *(byte *)&in_t3->pParse = 0;
                      bVar18 = *(byte *)&in_t2->pParse;
                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);
                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||
                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {
                        iVar7 = *(int *)(puVar57 + 0x96bf8);
                        pWVar49 = pWVar36;
                        pcVar40 = pcVar39;
                        if (*pcVar39 == -0x62) {
                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);
                          if ((iVar7 == 0x42) &&
                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))
                          goto LAB_000c52ac;
                          iVar7 = *(int *)(puVar57 + 0x96bf8);
                        }
                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);
                        pcVar39 = pcVar40;
                        uVar60 = uVar6;
                        goto LAB_000c6178;
                      }
LAB_000c52ac:
                      pcVar40 = pcVar39;
                      if (uVar20 == 0x90) goto LAB_000c6c34;
                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);
                      pWStack_1a4 = (WhereInfo *)
                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->
                                    addrOpenEphm[0];
LAB_000c52d0:
                      pWVar34 = (WhereInfo *)
                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))
                                          (pWVar9,jumpIfNull,0,0);
                      pcVar40 = pcVar39;
                    }
                    if (((uint)pWStack_190 & 8) == 0) {
                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==
                          '\0') {
                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =
                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;
                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;
                        bVar18 = *(byte *)&pEVar37->nExpr;
                        if (bVar18 != 0) {
                          iVar45 = *(int *)(puVar57 + 0x96bcc);
                          in_t2 = (WhereInfo *)0x0;
                          iVar7 = *(int *)(puVar57 + 0x96bcc);
                          do {
                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);
                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);
                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);
                            ppWVar4 = (WhereInfo **)&in_t2->pParse;
                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);
                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;
                            pEVar37 = (ExprList *)
                                      ((int)&in_t2->pParse +
                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);
                            bVar18 = *(byte *)&pEVar37->nExpr;
                          } while (bVar18 != 0);
                        }
                      }
                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {
                        pEVar37 = pWVar34->pOrderBy;
                        if (pEVar37 == (ExprList *)0x0) {
                          bVar18 = *(byte *)(in_zero + -1);
                          pbVar10 = (byte *)0xffffffff;
                        }
                        else {
                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);
                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));
                          bVar18 = *pbVar10;
                        }
                        if (bVar18 == 0x40) {
                          pWStack_18c = (WhereInfo *)0x0;
                        }
                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;
                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +
                                   1;
                      }
                      else {
                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;
                      }
                    }
                    else {
                      iVar7 = *(int *)(puVar57 + 0x96bcc);
                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {
                        pEVar37 = pWVar34->pOrderBy;
                        if (pEVar37 == (ExprList *)0x0) {
                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';
                        }
                        else {
                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);
                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));
                          *pcVar39 = *pcVar39 + '\x01';
                        }
                        iVar7 = *(int *)(puVar57 + 0x96bcc);
                      }
                      iVar7 = iVar7 + -0x7be0;
                    }
                    iVar45 = *(int *)(puVar57 + 0x96c38);
                    if (pWStack_1a4 == (WhereInfo *)0x0) {
                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);
                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);
                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);
                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);
                      if (iVar45 == 0) {
                        iVar33 = *(int *)(puVar57 + 0x96c38);
                        iVar45 = 0;
                      }
                      else {
                        iVar33 = *(int *)(puVar57 + 0x96c38);
                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;
                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);
                      }
                      pcVar43 = (code *)(iVar33 + -0x73f4);
                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);
                      iVar33 = *(int *)(puVar57 + 0x96dac);
                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);
                    }
                    else {
                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);
                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);
                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);
                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);
                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);
                      if (iVar33 == 0) {
                        iVar22 = *(int *)(puVar57 + 0x96c38);
                        iVar33 = 0;
                      }
                      else {
                        iVar22 = *(int *)(puVar57 + 0x96c38);
                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;
                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);
                      }
                      pcVar43 = (code *)(iVar22 + -0x73f4);
                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);
                      iVar33 = *(int *)(puVar57 + 0x96dac);
                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);
                      pWStack_1a4 = (WhereInfo *)
                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);
                    }
                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);
                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);
                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);
                    if (iVar7 != 0) {
                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;
                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);
                    }
                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);
                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);
                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);
                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);
                    BVar64 = CONCAT44(pcVar40,pWVar49);
                    if (pWStack_18c != (WhereInfo *)0x0) {
                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;
                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =
                           *(undefined2 *)
                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);
                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =
                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +
                           '\x01';
                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;
                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =
                           *(undefined2 *)
                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);
                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =
                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +
                           '\x01';
                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);
                      BVar64 = CONCAT44(pcVar40,pWVar49);
                    }
                    goto LAB_000c55a8;
                  }
                }
              }
            }
          }
LAB_000c6178:
          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);
          BVar64 = CONCAT44(pcVar39,pWVar49);
          cVar19 = *(char *)&pWC->pOrderBy;
        }
        BVar61 = BVar64;
        if (cVar19 != ',') goto LAB_000c4d88;
        uVar32 = (uint)*(byte *)&pWVar56->pParse;
      }
    }
    uVar11 = (undefined4)(BVar64 >> 0x20);
    uVar21 = (uint)BVar64;
    uVar62 = CONCAT44(psVar53,jumpIfNull);
    cVar19 = ',';
    if (uVar32 == 0x9d) {
      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;
      BVar61 = BVar64;
      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {
        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];
        if ((*(byte *)&pWVar49->pParse == 0x9e) &&
           (bVar18 = 0x6d,
           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {
          in_t4 = (WhereInfo *)0x0;
          in_t6 = (WhereInfo *)
                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;
          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;
          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);
          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);
          in_t5 = in_t3;
          while( true ) {
            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;
            pWVar29 = in_t6;
            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {
              do {
                if (pWVar29 == (WhereInfo *)0x0) {
                  BVar64 = CONCAT44(uVar11,uVar21);
                  pWVar44 = (WhereInfo *)pWVar42->pTabList;
                  uVar21 = 1;
                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);
                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;
                  goto LAB_000c5c84;
                }
                pbVar10 = pbVar10 + 1;
                piVar47 = &pEVar37->nExpr;
                pWVar34 = (WhereInfo *)(uint)*pbVar10;
                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);
                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);
                pWVar29 = pWVar34;
              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));
            }
            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);
            in_t5 = (WhereInfo *)&in_t5->pOrderBy;
            if (in_t4 == (WhereInfo *)&DAT_00000004) break;
            pEVar37 = *(ExprList **)in_t5;
            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);
          }
        }
        BVar64 = CONCAT44(uVar11,uVar21);
        pWVar49 = (WhereInfo *)pWVar42->pTabList;
        BVar61 = CONCAT44(uVar11,uVar21);
        if ((*(byte *)&pWVar49->pParse == 0x9e) &&
           (BVar61 = BVar64,
           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {
          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;
          if (pVVar24 == (VTable *)0x0) {
LAB_000c7224:
                    /* WARNING: Does not return */
            pcVar59 = (code *)trap(0);
            (*pcVar59)();
          }
          pWVar34 = (WhereInfo *)pVVar24->db;
          while (pWVar9 != pWVar34) {
            pVVar24 = pVVar24->pNext;
            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;
            pWVar34 = (WhereInfo *)pVVar24->db;
          }
          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;
          pWVar34 = (WhereInfo *)&stack0xfffffe98;
          if (p_Var58 !=
              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr
               *)0x0) {
            uVar32 = (*p_Var58)(pVVar24->pVtab,2,
                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,
                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34
                                ,&pvStack_164);
            BVar64 = CONCAT44(uVar11,uVar21);
            if (0x95 < (int)uVar32) {
              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);
              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];
              uVar21 = 1;
              goto LAB_000c5c84;
            }
            goto LAB_000c609c;
          }
          goto LAB_000c60a0;
        }
      }
    }
    else {
      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {
        pWVar49 = (WhereInfo *)pWVar56->pResultSet;
        pWVar29 = (WhereInfo *)pWVar56->pWhere;
        if (*(byte *)&pWVar49->pParse == 0x9e) {
          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0
                         );
        }
        else {
          uVar21 = 0;
        }
        pWVar44 = pWVar29;
        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&
           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {
          uVar21 = uVar21 + 1;
          pWVar44 = pWVar49;
          pWVar49 = pWVar29;
        }
        if (uVar32 == 0x34) {
          pWStack_18c = (WhereInfo *)&DAT_00000044;
        }
        else if (uVar32 == 0x9c) {
          pWStack_18c = (WhereInfo *)0x45;
        }
        else {
          pWStack_18c = (WhereInfo *)0x46;
          if (uVar32 != 0x33) {
            pWStack_18c = (WhereInfo *)0x0;
          }
        }
LAB_000c5c84:
        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);
        iVar7 = *(int *)(puVar57 + 0x96c78);
        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);
LAB_000c5d04:
        pWVar29 = pWVar49;
        pWVar42 = pWVar44;
        uVar21 = uVar21 - 1;
        if (uVar21 != 0xffffffff) {
          pWVar44 = pWVar29;
          pWVar49 = pWVar42;
          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;
          if (pWVar29 != (WhereInfo *)0x0) {
            (*pcStack_1b0)(pWStack_1b8,pWVar29);
          }
          pWVar34 = (WhereInfo *)0x0;
          uVar62 = 0;
          goto LAB_000c5d38;
        }
        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);
LAB_000c609c:
        cVar19 = *(char *)&pWC->pOrderBy;
LAB_000c60a0:
        psVar53 = (sqlite3 *)(uVar62 >> 0x20);
        jumpIfNull = (int)uVar62;
        BVar61 = BVar64;
        if (cVar19 != ',') goto LAB_000c4d88;
        uVar32 = (uint)*(byte *)&pWVar56->pParse;
      }
      uVar11 = (undefined4)(BVar64 >> 0x20);
      uVar14 = (undefined4)uVar62;
      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);
      psVar50 = (sqlite3 *)uVar60;
      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {
        pEVar46 = (Expr *)pWVar56->pResultSet;
        uVar20 = pEVar46->op;
        if (uVar20 == 0xa4) {
          uVar20 = pEVar46->op2;
        }
        if (uVar20 == 0xa5) {
          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;
        }
        else {
          if (uVar20 != '\x7f') goto LAB_000c55f8;
          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;
        }
        uVar62 = CONCAT44(psVar53,uVar14);
        if (1 < (int)psVar53) {
          pEVar23 = pWVar56->pWhere;
          uVar20 = pEVar23->op;
          if (uVar20 == 0xa4) {
            uVar20 = pEVar23->op2;
          }
          if (uVar20 == 0xa5) {
            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;
          }
          else {
            uVar62 = CONCAT44(psVar53,uVar14);
            if (uVar20 != '\x7f') goto LAB_000c55f8;
            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;
          }
          uVar62 = CONCAT44(psVar53,uVar14);
          if ((psVar53 == psVar13) &&
             (((pEVar46->flags & 0x800) == 0 ||
              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {
            psVar50 = (sqlite3 *)0x0;
            iVar7 = *(int *)(puVar57 + 0x96c78);
            iVar45 = *(int *)(puVar57 + 0x96c78);
            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);
            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);
            while( true ) {
              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);
              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)
              ;
              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);
              if (iVar33 != 0) {
                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;
                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);
              }
              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);
              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);
              uVar60 = CONCAT44(pWStack_1a4,psVar50);
              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);
              if (psVar50 == psVar53) break;
              pEVar46 = (Expr *)pWVar56->pResultSet;
            }
            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);
            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);
            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);
            *(u16 *)&pWVar52->pResultSet = 0;
            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;
            jumpIfNull = (int)pParse_00;
            BVar61 = BVar64;
            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;
            uVar32 = (uint)*(byte *)&pWVar56->pParse;
            uVar62 = CONCAT44(psVar53,pParse_00);
          }
        }
      }
LAB_000c55f8:
      psVar53 = (sqlite3 *)(uVar62 >> 0x20);
      jumpIfNull = (int)uVar62;
      uVar60 = CONCAT44(pWStack_1a4,psVar50);
      BVar61 = BVar64;
      if (uVar32 == 0x31) {
        iVar7 = pWVar52->aiCurOnePass[0];
        uVar60 = CONCAT44(pWStack_1a4,iVar7);
        if (((iVar7 == 0) &&
            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),
            pEVar46->op == 0xa5)) &&
           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),
           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))
        {
          psVar53 = (sqlite3 *)0xa5;
          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);
          uVar20 = 0xa5;
          iVar7 = 0;
          while( true ) {
            uVar60 = CONCAT44(pWStack_1a4,iVar7);
            if (uVar20 == 0xa5) {
              iVar33 = ((pEVar46->x).pList)->nExpr;
            }
            else if (uVar20 == '\x7f') {
              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;
            }
            else {
              iVar33 = 1;
            }
            jumpIfNull = (int)pWStack_19c;
            BVar61 = BVar64;
            if (iVar33 <= iVar7) break;
            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);
            iVar7 = iVar7 + 1;
            pWVar52 = (WhereInfo *)(iVar33 * 0x30);
            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;
            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);
            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;
            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =
                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);
            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =
                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';
            pEVar46 = (Expr *)pWVar56->pResultSet;
            uVar20 = pEVar46->op;
            if (uVar20 == 0xa4) {
              uVar20 = pEVar46->op2;
            }
          }
        }
      }
    }
  }
LAB_000c4d88:
  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);
  pWVar49 = (WhereInfo *)uVar60;
  ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr;
  *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =
       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198;
  *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =
       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194;
  pWVar29 = pWC;
  BVar64 = BVar61;
  BVar61 = CONCAT44(pWStack_190,pWStack_18c);
LAB_000c4c58:
  if (pEStack_154 == (ExprList *)*piVar8) {
    return;
  }
  (**(code **)(puVar57 + 0x96f48))();
  pWVar44 = (WhereInfo *)jumpIfNull;
LAB_000c7158:
  uVar32 = 0;
LAB_000c6df0:
  uVar21 = 1 << (uVar32 & 0x1f);
  if ((uVar32 & 0x20) == 0) {
    uVar32 = 0;
  }
  else {
    uVar32 = uVar21;
    uVar21 = 0;
  }
  in_t2 = (WhereInfo *)((uint)in_t2 | uVar21);
  in_t3 = (WhereInfo *)((uint)in_t3 | uVar32);
  while( true ) {
    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);
    iVar7 = (int)BVar64 + 1;
    pWVar34 = (WhereInfo *)&pWVar34->sorted;
    if (pWVar41 == (WhereInfo *)iVar7) break;
LAB_000c6d54:
    BVar64 = CONCAT44(pWVar41,iVar7);
    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;
    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||
       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {
      uVar21 = (in_t6->sMaskSet).n;
      if (0 < (int)uVar21) {
        piVar47 = (in_t6->sMaskSet).ix;
        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;
        uVar25 = 1;
        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {
          uVar25 = uVar32 + 1;
          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;
        }
      }
    }
  }
  uVar32 = 0;
  jumpIfNull = 0;
  pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3);
  pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2);
  pWC = pWVar29;
  while( true ) {
    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);
    pWVar44 = (WhereInfo *)&pWVar44->sorted;
    if (pWVar49 == pWVar42) break;
    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;
LAB_000c5ae4:
    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);
    pWStack_18c = (WhereInfo *)BVar61;
    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {
      if (psVar53->mallocFailed != '\0') {
LAB_000c5b1c:
        uVar32 = 0;
        jumpIfNull = 0;
        goto LAB_000c5b24;
      }
      pWVar34 = (WhereInfo *)0x198;
      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);
      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;
      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);
      pcVar59 = *(code **)(puVar57 + 0x96eec);
      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;
      *(undefined2 *)&pWVar44->pResultSet = 0x400;
      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;
      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);
      pWVar29 = (WhereInfo *)pWC->pParse;
      pWVar12->hasOr = '\0';
      pWVar12->pWInfo = pWVar29;
      pWVar12->pOuter = (WhereClause *)0x0;
      pWVar12->nTerm = 0;
      pWVar12->nSlot = 8;
      pWVar12->a = pWVar35;
      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);
      iVar7 = pWVar12->nTerm + -1;
      in_t4 = (WhereInfo *)jumpIfNull;
      if (-1 < iVar7) {
        do {
          iVar45 = iVar7 + -1;
          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);
          in_t4 = (WhereInfo *)jumpIfNull;
          iVar7 = iVar45;
        } while ((WhereInfo *)iVar45 != pWVar42);
      }
      pWVar12->pOuter = (WhereClause *)pWC;
      if (psVar53->mallocFailed != '\0') {
        if (pWVar49 != (WhereInfo *)0x0) {
          uVar32 = 0;
          jumpIfNull = 0;
          goto LAB_000c5efc;
        }
LAB_000c7130:
        (pWVar52->sWC).aStatic[6].leftCursor = 0;
        (pWVar52->sWC).aStatic[6].iParent = 0;
        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;
        pWVar29 = pWVar42;
        jumpIfNull = (int)pWVar44;
        goto LAB_000c5c2c;
      }
      pWVar41 = (WhereInfo *)pWVar12->nTerm;
      pWVar34 = (WhereInfo *)pWVar12->a;
      if ((int)pWVar41 < 1) {
        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;
        (pWVar52->sWC).aStatic[6].leftCursor = 0;
        uVar32 = 0;
        (pWVar52->sWC).aStatic[6].iParent = 0;
        jumpIfNull = 0;
        goto LAB_000c5f04;
      }
      iVar7 = 0;
      in_t3 = (WhereInfo *)0x0;
      in_t2 = (WhereInfo *)0x0;
      in_t5 = (WhereInfo *)0x40;
      in_t4 = (WhereInfo *)0x1f31;
      in_t6 = pWStack_1a4;
      pWVar29 = pWC;
      goto LAB_000c6d54;
    }
    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);
    if ((uVar26 & 8) != 0) goto LAB_000c5b24;
    pWVar34 = (WhereInfo *)(uVar26 & 2);
    uVar21 = (pWStack_1a4->sMaskSet).n;
    if ((int)uVar21 < 1) {
      uVar38 = 0;
      uVar25 = 0;
    }
    else {
      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];
      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {
        uVar25 = 0;
      }
      else {
        piVar47 = (pWStack_1a4->sMaskSet).ix;
        uVar25 = 0;
        do {
          piVar47 = piVar47 + 1;
          uVar25 = uVar25 + 1;
          if (uVar25 == uVar21) {
            uVar25 = 0;
            uVar38 = 0;
            goto LAB_000c6208;
          }
        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);
      }
      uVar16 = 1 << (uVar25 & 0x1f);
      if ((uVar25 & 0x20) == 0) {
        uVar38 = 0;
        uVar25 = uVar16;
      }
      else {
        uVar25 = 0;
        uVar38 = uVar16;
      }
LAB_000c6208:
      if ((uVar26 & 2) != 0) {
        pWVar34 = (WhereInfo *)pWVar44->pWhere;
        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);
        uVar16 = 0;
        if (pWVar41 != in_t2) {
          piVar47 = (pWStack_1a4->sMaskSet).ix;
          uVar5 = 1;
          do {
            uVar16 = uVar5;
            piVar47 = piVar47 + 1;
            if (uVar16 == uVar21) goto LAB_000c6210;
            pWVar34 = (WhereInfo *)*piVar47;
            uVar5 = uVar16 + 1;
          } while (pWVar34 != pWVar41);
        }
        uVar21 = 1 << (uVar16 & 0x1f);
        if ((uVar16 & 0x20) == 0) {
          uVar16 = 0;
        }
        else {
          uVar16 = uVar21;
          uVar21 = 0;
        }
        uVar25 = uVar25 | uVar21;
        uVar38 = uVar38 | uVar16;
      }
    }
LAB_000c6210:
    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);
    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);
    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {
      uVar32 = 0;
      jumpIfNull = 0;
    }
    else {
      uVar32 = uVar32 & uVar38;
      jumpIfNull = jumpIfNull & uVar25;
    }
  }
LAB_000c5b30:
  pWStack_18c = (WhereInfo *)BVar61;
  (pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188;
  (pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184;
  if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5f04;
  *(undefined2 *)&pWStack_18c->pResultSet = 0x200;
  *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';
  in_t4 = (WhereInfo *)jumpIfNull;
  if (pWVar52->pResultSet == (ExprList *)0x2) {
LAB_000c6e58:
    piVar47 = *(int **)&pWVar52->iLimit;
    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);
    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);
    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);
    pWVar29 = (WhereInfo *)0x0;
LAB_000c6e8c:
    BVar2 = CONCAT44(psVar53,pWStack_18c);
    BVar64 = CONCAT44(psVar53,pWStack_18c);
    BVar61 = CONCAT44(psVar53,pWStack_18c);
    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);
    in_t4 = (WhereInfo *)jumpIfNull;
    pWVar44 = (WhereInfo *)jumpIfNull;
    if (*(short *)(piVar47 + 3) == 0x400) {
      BVar61 = BVar64;
      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||
         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,
         piVar48 == (int *)0x0)) goto LAB_000c5b6c;
    }
    else {
      piVar48 = piVar47;
      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;
    }
    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);
    pWVar42 = (WhereInfo *)0x0;
    sVar31 = *(short *)(piVar47 + 0xf);
    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;
    iVar7 = 0;
    do {
      pWVar29 = pWStack_18c;
      if (sVar31 == 0x400) {
        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;
        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);
      }
      else {
        pWVar42 = (WhereInfo *)(piVar47 + 0xc);
        if (iVar7 != 0) goto LAB_000c6e8c;
      }
      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;
      uVar26 = *(ushort *)(piVar48 + 3);
      pWVar49 = (WhereInfo *)(uint)uVar26;
      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {
        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;
        pWVar49 = (WhereInfo *)(uint)uVar26;
        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||
           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {
          pWVar34 = (WhereInfo *)0xffffffff;
          iVar45 = (*(code *)pWStack_188)
                             (0,*(undefined4 *)(*piVar48 + 0xc),
                              ((WhereInfo *)pWVar42->pParse)->pResultSet);
          if (iVar45 == 0) {
            pWVar34 = (WhereInfo *)0xffffffff;
            iVar45 = (*(code *)pWStack_188)
                               (0,*(undefined4 *)(*piVar48 + 0x10),
                                ((WhereInfo *)pWVar42->pParse)->pWhere);
            if (iVar45 == 0) {
              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&
                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {
                pWVar49 = (WhereInfo *)&DAT_00000008;
              }
              pWVar34 = (WhereInfo *)0x0;
              if ((*piVar48 != 0) &&
                 (puVar55 = (undefined1 *)
                            (*(code *)psStack_17c)
                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),
                 puVar55 != (undefined1 *)0x0)) {
                uVar27 = 0x35;
                if (pWVar49 != (WhereInfo *)0x2) {
                  iVar45 = 0x35;
                  do {
                    uVar21 = iVar45 - 0x34;
                    iVar45 = iVar45 + 1;
                    uVar27 = (undefined1)iVar45;
                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));
                }
                *puVar55 = uVar27;
                uVar11 = (*pcStack_174)(pWC,puVar55,3);
                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);
              }
            }
          }
          piVar47 = *(int **)&pWVar52->iLimit;
          sVar31 = *(short *)(piVar47 + 0xf);
        }
      }
      iVar7 = iVar7 + 1;
    } while( true );
  }
  goto LAB_000c5b6c;
LAB_000c5cbc:
  uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);
  if ((pWVar29 == (WhereInfo *)0x0) ||
     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)) {
    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);
LAB_000c5d38:
    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);
    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {
      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;
    }
    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);
    iVar33 = *(int *)&pWC->iLimit;
    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;
    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];
    yVar30 = pWVar29->iContinue;
    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;
    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;
    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;
    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;
    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =
         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);
    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =
         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';
    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);
    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;
    uVar11 = pWVar52->savedNQueryLoop;
    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;
    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;
    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;
  }
  goto LAB_000c5d04;
LAB_000c5efc:
  (pWVar52->sWC).aStatic[6].leftCursor = 0;
  (pWVar52->sWC).aStatic[6].iParent = 0;
LAB_000c5f04:
  pWStack_18c = (WhereInfo *)BVar61;
  *(undefined2 *)((int)pWStack_18c + 0xc) = 0x200;
  in_t4 = (WhereInfo *)jumpIfNull;
LAB_000c5b6c:
  pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);
  pWStack_18c = (WhereInfo *)BVar61;
  pWVar29 = pWVar42;
  jumpIfNull = (int)pWVar44;
  if (uVar32 != 0 || in_t4 != (WhereInfo *)0x0) {
    pEVar37 = pWVar52->pResultSet;
    jumpIfNull = (int)in_t4;
    pWVar29 = pWVar52;
    psStack_17c = psVar53;
LAB_000c5b7c:
    pWVar42 = pWStack_1a4;
    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);
    pWVar49 = (WhereInfo *)0x0;
    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);
    pWVar34 = (WhereInfo *)0xffffffff;
    in_t4 = (WhereInfo *)jumpIfNull;
    psVar53 = psStack_17c;
LAB_000c5bb0:
    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);
    piVar47 = *(int **)&pWVar29->iLimit;
    pWStack_190 = pWC;
    if (-1 < (int)puVar55) {
      in_t5 = (WhereInfo *)0x1;
      in_t4 = (WhereInfo *)0xffffffff;
      do {
        pWVar52 = (WhereInfo *)piVar47[5];
        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;
        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {
          piVar48 = (pWStack_1a4->sMaskSet).ix;
          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {
            uVar21 = 0;
          }
          else {
            uVar21 = 0;
            do {
              piVar48 = piVar48 + 1;
              uVar21 = uVar21 + 1;
              if (uVar21 == iVar7) goto LAB_000c5c1c;
            } while (pWVar52 != (WhereInfo *)*piVar48);
          }
          uVar25 = 1 << (uVar21 & 0x1f);
          if ((uVar21 & 0x20) == 0) {
            uVar21 = 0;
          }
          else {
            uVar21 = uVar25;
            uVar25 = 0;
          }
          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;
        }
LAB_000c5c1c:
        puVar55 = puVar55 + -1;
        piVar47 = piVar47 + 0xc;
        if (puVar55 == (undefined1 *)0xffffffff) break;
      } while( true );
    }
  }
LAB_000c5c2c:
  uVar60 = CONCAT44(pWStack_1a4,pWVar49);
  pWVar42 = pWVar29;
  pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr);
  BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit);
  goto LAB_000c4d78;
LAB_000c5b24:
  pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);
  pWVar44 = (WhereInfo *)&pWVar44->sorted;
  if (pWVar49 == pWVar42) goto LAB_000c5b30;
  goto LAB_000c5ae4;
code_r0x000c6748:
  psVar53 = (sqlite3 *)piVar47[7];
  pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc);
LAB_000c6784:
  if (psVar53 == (sqlite3 *)piVar47[7]) {
    iVar7 = *piVar47;
    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {
      pWVar34 = (WhereInfo *)0xffffffff;
      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);
      if (iVar7 != 0) goto LAB_000c6790;
      iVar7 = *piVar47;
    }
    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));
    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));
    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {
      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;
      piVar48 = piVar47;
LAB_000c6768:
      puVar55 = puVar55 + -1;
      piVar47 = piVar48 + 0xc;
      if (puVar55 != (undefined1 *)0xffffffff) {
        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;
        goto LAB_000c6784;
      }
      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;
      piVar47 = *(int **)&pWVar29->iLimit;
      if (jumpIfNull < 0) {
        pWVar34 = (WhereInfo *)0x0;
        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);
        psVar53 = psStack_17c;
        if (iVar7 == 0) goto LAB_000c5c2c;
        pWVar52 = (WhereInfo *)0x0;
      }
      else {
        iVar45 = *(int *)(puVar57 + 0x96c38);
        iVar7 = 0;
        pWVar52 = (WhereInfo *)0x0;
        pWVar49 = (WhereInfo *)0xffffffff;
        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);
        do {
          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {
            iVar7 = *(int *)(*piVar47 + 0x10);
            if (iVar7 != 0) {
              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);
              pWStack_1a4 = pWVar52;
            }
            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);
            iVar7 = *(int *)(*piVar47 + 0xc);
          }
          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;
          piVar47 = piVar47 + 0xc;
        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);
        if (iVar7 != 0) {
          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);
        }
        pWVar34 = (WhereInfo *)0x0;
        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);
        jumpIfNull = (int)pWC;
        if (iVar7 == 0) {
          psVar53 = psStack_17c;
          if (pWVar52 != (WhereInfo *)0x0) {
            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);
          }
          goto LAB_000c5c2c;
        }
      }
      iVar33 = *(int *)(puVar57 + 0x96c38);
      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);
      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;
      iVar45 = pWStack_178->iBreak;
      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;
      *(short *)(iVar7 + 0x26) = (short)iVar45;
      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);
      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);
      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;
      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);
      *(undefined2 *)&pWVar29->pOrderBy =
           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);
      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =
           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';
      psVar53 = psStack_17c;
      goto LAB_000c5c2c;
    }
  }
LAB_000c6790:
  if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;
  pEVar37 = pWVar29->pResultSet;
  pWVar49 = (WhereInfo *)0x1;
  pWVar34 = pWVar52;
  goto LAB_000c5bb0;
LAB_000c675c:
  *(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;
  piVar48 = piVar47;
  goto LAB_000c6768;
}



void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,
                 code *param_6)

{
  byte *pbVar1;
  byte bVar2;
  undefined2 uVar3;
  uint uVar4;
  int in_zero;
  int *piVar5;
  code *pcVar6;
  ushort uVar14;
  byte *pbVar7;
  code cVar15;
  undefined4 uVar8;
  char cVar16;
  undefined4 uVar9;
  int iVar10;
  uint uVar11;
  undefined1 *puVar12;
  uint uVar13;
  code *pcVar17;
  uint uVar18;
  ushort uVar23;
  int iVar19;
  undefined4 *puVar20;
  uint uVar21;
  code cVar24;
  code *pcVar22;
  undefined1 uVar25;
  code *pcVar26;
  code *pcVar27;
  short sVar28;
  int iVar29;
  byte *pbVar30;
  code *pcVar31;
  undefined4 in_t0;
  int iVar32;
  int iVar33;
  uint uVar34;
  undefined4 in_t1;
  char *pcVar35;
  char *pcVar36;
  code *pcVar37;
  code *in_t2;
  code *in_t3;
  code *in_t4;
  code *in_t5;
  code *in_t6;
  code *pcVar38;
  int iVar39;
  char *pcVar40;
  int *piVar41;
  code *pcVar42;
  code *pcVar43;
  bool bVar45;
  int *piVar44;
  code *pcVar46;
  undefined *puVar47;
  code *pcVar48;
  undefined8 uVar49;
  undefined8 uVar50;
  ulonglong uVar51;
  ulonglong uVar52;
  undefined8 uVar53;
  code *pcVar54;
  code *pcVar55;
  code *pcVar56;
  code *pcStack_1b8;
  code *pcStack_1b0;
  code *pcStack_1a4;
  code *pcStack_19c;
  uint uStack_198;
  uint uStack_194;
  code *pcStack_190;
  code *pcStack_18c;
  code *pcStack_188;
  code *pcStack_184;
  undefined4 *puStack_180;
  code *pcStack_17c;
  int iStack_178;
  code *pcStack_174;
  undefined1 auStack_168 [4];
  undefined1 auStack_164 [4];
  undefined4 uStack_160;
  undefined4 uStack_15c;
  byte bStack_158;
  byte bStack_157;
  byte bStack_156;
  byte bStack_155;
  int iStack_154;
  undefined4 *puStack_150;
  undefined4 *puStack_14c;
  code *pcStack_148;
  code *pcStack_144;
  code *pcStack_140;
  undefined *puStack_13c;
  code *pcStack_138;
  code *pcStack_134;
  int *piStack_130;
  code *pcStack_12c;
  code *pcStack_120;
  code *local_110;
  undefined4 local_10c;
  undefined4 local_108;
  undefined4 local_104;
  undefined4 *local_100;
  undefined4 *local_fc;
  undefined4 local_f8;
  undefined4 local_f4;
  undefined4 local_f0;
  undefined4 local_ec;
  undefined4 local_e8;
  undefined4 local_e4;
  undefined4 local_e0;
  undefined4 local_dc;
  undefined4 local_d8;
  undefined4 local_d4;
  undefined4 local_d0;
  undefined4 local_cc;
  code *local_c8;
  undefined4 local_c4;
  undefined4 local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  undefined4 local_b4;
  undefined4 local_b0;
  undefined4 local_ac;
  undefined4 local_a8;
  undefined4 local_a4;
  undefined4 local_a0;
  undefined4 local_9c;
  undefined4 local_98;
  undefined4 local_94;
  code *local_90;
  undefined4 local_8c;
  undefined4 local_88;
  undefined4 local_84;
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78;
  undefined4 local_74;
  undefined4 local_70;
  undefined4 local_6c;
  undefined4 local_68;
  undefined1 local_64 [4];
  uint local_60;
  undefined4 local_48;
  undefined1 local_3c;
  int local_2c;
  
  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;
  pcVar42 = (code *)&local_10c;
  local_110 = (code *)0x0;
  local_d4 = 0;
  local_d0 = 0;
  local_cc = 0;
  local_c8 = (code *)0x0;
  local_c4 = 0;
  local_c0 = 0;
  local_bc = 0;
  local_b8 = 0;
  local_b4 = 0;
  local_b0 = 0;
  local_ac = 0;
  local_a8 = 0;
  local_a4 = 0;
  local_a0 = 0;
  local_9c = 0;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  local_98 = 0;
  local_10c = 0;
  local_94 = 0;
  local_90 = (code *)0x0;
  local_8c = 0;
  local_88 = 0;
  local_84 = 0;
  local_80 = 0;
  local_7c = 0;
  local_78 = 0;
  local_74 = 0;
  local_70 = 0;
  local_6c = 0;
  local_68 = 0;
  local_108 = 0;
  local_104 = 0;
  local_100 = (undefined4 *)0x0;
  local_fc = (undefined4 *)0x0;
  local_f8 = 0;
  local_f4 = 0;
  local_f0 = 0;
  local_ec = 0;
  local_e8 = 0;
  local_e4 = 0;
  local_e0 = 0;
  local_dc = 0;
  local_d8 = 0;
  pcVar31 = param_4;
  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);
  local_10c = CONCAT13(0x2c,local_10c._1_3_);
  local_d4 = CONCAT13(0x39,local_d4._1_3_);
  local_9c = CONCAT13(0x37,local_9c._1_3_);
  local_c4 = *(undefined4 *)(*param_3 + 4);
  local_8c = *(undefined4 *)(*param_3 + 0x18);
  local_100 = &local_d4;
  local_fc = &local_9c;
  local_c8 = (code *)local_64;
  local_90 = (code *)local_64;
  local_48 = FUN_000c29d4(param_1,local_64,&local_110);
  local_3c = local_64[0];
  local_60 = local_60 & 0xffffefff;
  local_64[0] = (code)0xa4;
  pcVar26 = param_1;
  pcVar46 = param_4;
  if (param_5 == (code *)0x0) {
    local_60 = local_60 | 1;
    FUN_000bea74(param_1,pcVar42);
  }
  else {
    (*param_5)(param_1,pcVar42);
    pcVar31 = param_6;
  }
  pcVar22 = local_110;
  if (local_110 != (code *)0x0) {
    pcVar26 = param_1;
    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();
  }
  if (local_2c == *(int *)pcVar27) {
    return;
  }
  pcVar48 = FUN_000c4ac8;
  puVar47 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar5 = *(int **)(puVar47 + 0x96f64);
  pcStack_134 = param_5;
  puStack_13c = pcVar27;
  pcVar38 = *(code **)pcVar22;
  iStack_154 = *piVar5;
  pcVar17 = *(code **)pcVar38;
  pcVar6 = *(code **)pcVar17;
  pcVar43 = (code *)local_64;
  puStack_150 = &local_9c;
  puStack_14c = &local_d4;
  pcStack_148 = pcVar42;
  pcStack_144 = (code *)local_64;
  pcStack_140 = param_1;
  pcStack_138 = param_4;
  piStack_130 = param_3;
  pcStack_12c = pcVar48;
  pcStack_120 = pcVar46;
  uVar53 = CONCAT44(in_t1,in_t0);
  uVar50 = CONCAT44(pcStack_190,pcStack_18c);
  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;
  iVar32 = *(int *)(pcVar22 + 0x14);
  pcStack_1b8 = pcVar38 + 0x1e8;
  pcStack_19c = (code *)((int)pcVar46 * 0x30);
  pcVar43 = pcStack_19c + iVar32;
  param_4 = *(code **)pcVar43;
  pcVar27 = pcVar22;
  if (*(int *)(param_4 + 0xc) == 0) {
    param_1 = (code *)(uint)(byte)*param_4;
    uVar49 = 0;
    uVar50 = 0;
    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;
LAB_000c4cac:
    uVar49 = uVar50;
    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
    pcVar42 = (code *)uVar49;
    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);
    uVar53 = CONCAT44(in_t1,iVar32);
    uVar50 = CONCAT44(pcStack_190,pcStack_18c);
    if (iVar39 != 0) goto LAB_000c4c58;
    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {
      if (*(int *)(param_4 + 0x14) == 0) {
        uVar50 = 0;
      }
      else {
        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);
      }
    }
    else {
      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);
    }
    iVar32 = *(int *)(puVar47 + 0x96c38);
    *(undefined8 *)(pcVar43 + 0x20) = uVar50;
    pcStack_1b0 = (code *)(iVar32 + -0x2d10);
  }
  else {
    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();
    param_1 = (code *)(uint)(byte)*param_4;
    uVar50 = uVar49;
    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;
LAB_000c4b90:
    iVar32 = *(int *)(puVar47 + 0x96c38);
    if (param_1 == (code *)0x32) {
      *(undefined4 *)(pcVar43 + 0x20) = 0;
      pcStack_1b0 = (code *)(iVar32 + -0x2d10);
      *(undefined4 *)(pcVar43 + 0x24) = 0;
    }
    else {
      if (*(int *)(param_4 + 0x10) == 0) {
        uVar50 = 0;
      }
      else {
        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);
      }
      pcStack_1b0 = (code *)(iVar32 + -0x2d10);
      *(undefined8 *)(pcVar43 + 0x20) = uVar50;
    }
  }
  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
  pcVar42 = (code *)uVar49;
  *(undefined4 *)(pcVar38 + 0x1e8) = 0;
  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);
  if (*(int *)(pcVar38 + 0x1e8) != 0) {
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;
  }
  if ((*(uint *)(param_4 + 4) & 1) == 0) {
    uStack_198 = 0;
    uStack_194 = 0;
  }
  else {
    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {
LAB_000c4c3c:
      iVar32 = *(int *)(puVar47 + 0x96b34);
LAB_000c4c40:
      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);
      uVar53 = uVar50;
      uVar50 = CONCAT44(pcStack_190,pcStack_18c);
      goto LAB_000c4c58;
    }
    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {
      uVar18 = 0;
      uStack_198 = 0;
      uVar13 = 1;
      uStack_194 = 0;
    }
    else {
      uVar18 = 0;
      pcVar46 = pcVar38 + 500;
      do {
        uVar18 = uVar18 + 1;
        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;
        iVar32 = *(int *)pcVar46;
        pcVar46 = pcVar46 + 4;
      } while (*(short *)(param_4 + 0x26) != iVar32);
      uVar13 = 1 << (uVar18 & 0x1f);
      if ((uVar18 & 0x20) == 0) {
        uVar18 = 0;
      }
      else {
        uVar18 = uVar13;
        uVar13 = 0;
      }
      uStack_194 = uVar13 - 1;
      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);
    }
    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;
    uVar21 = (uint)uVar50 | uVar13;
    uVar50 = CONCAT44(uVar34,uVar21);
    pcVar31 = (code *)(uVar34 << 0x1f);
    if (uVar18 <= uVar34 >> 1) {
      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;
      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {
        iVar32 = *(int *)(puVar47 + 0x96b34);
        goto LAB_000c4c40;
      }
    }
  }
  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);
  pcVar48 = (code *)uVar50;
  *(undefined8 *)(pcVar43 + 0x28) = uVar50;
  *(undefined2 *)(pcVar43 + 0xc) = 0;
  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;
  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;
  pcVar46 = pcVar43;
  uVar53 = uVar50;
  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||
     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {
    if (*param_4 == (code)0x30) {
      iVar32 = *(int *)(puVar47 + 0x96dac);
      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;
      uVar8 = 0x39;
      bVar45 = false;
      iVar39 = *(int *)(puVar47 + 0x96c38);
      iVar29 = *(int *)(puVar47 + 0x96c78);
      iVar19 = *(int *)(puVar47 + 0x96c38);
      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);
      while( true ) {
        param_5 = *(code **)(param_4 + 0xc);
        if (param_5 != (code *)0x0) {
          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);
        }
        pcVar31 = (code *)*puVar20;
        if (pcVar31 != (code *)0x0) {
          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);
        }
        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);
        if (iVar10 != 0) {
          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;
          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);
        }
        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);
        puVar20 = puVar20 + 5;
        uVar49 = CONCAT44(pcStack_1a4,puVar20);
        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);
        iVar33 = *(int *)(pcVar22 + 0x14);
        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;
        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =
             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
        uVar8 = 0x37;
        if (bVar45) break;
        bVar45 = true;
      }
      param_1 = (code *)0x1;
      pcVar38 = (code *)(iVar39 + -0x73f4);
      pcVar46 = pcStack_19c + iVar33;
      pcStack_190 = (code *)(iVar32 + 0x4ac8);
      uVar53 = CONCAT44(pcVar37,iVar33);
    }
    else {
      pcVar31 = (code *)0x1a0;
      if (*param_4 == (code)0x2b) {
        pcStack_1a4 = *(code **)pcVar22;
        puStack_180 = *(undefined4 **)pcStack_1a4;
        param_1 = (code *)*puStack_180;
        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);
        iStack_178 = *(int *)pcStack_18c;
        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);
        *(code **)(pcStack_18c + 0x1c) = pcVar43;
        pcVar27 = pcStack_18c;
        pcVar42 = pcStack_1a4;
        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;
        pcVar42 = *(code **)(puVar47 + 0x96eec);
        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;
        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);
        *(code **)pcVar43 = pcStack_1a4;
        pcVar43[9] = (code)0x0;
        *(undefined4 *)(pcVar43 + 4) = 0;
        iVar32 = *(int *)(puVar47 + 0x96c38);
        *(undefined4 *)(pcVar43 + 0xc) = 0;
        *(undefined4 *)(pcVar43 + 0x14) = uVar8;
        pcStack_174 = (code *)(iVar32 + -0x70f0);
        *(undefined4 *)(pcVar43 + 0x10) = 8;
        (*pcStack_174)(pcVar43,iStack_178,0x2b);
        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);
        if ((int)pcVar42 < 0) {
          pcVar38 = pcStack_18c;
          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;
        }
        else {
          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
          uVar50 = CONCAT44(param_5,pcStack_18c);
          do {
            pcVar27 = pcVar42 + -1;
            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);
            pcVar42 = pcVar27;
          } while (pcVar27 != (code *)0xffffffff);
          pcVar42 = (code *)0xffffffff;
          pcVar27 = (code *)0xffffffff;
          pcStack_190 = param_5;
          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;
          in_t2 = *(code **)(pcVar43 + 0xc);
          pcVar42 = in_t2 + -1;
          pcVar46 = *(code **)(pcVar43 + 0x14);
          pcVar38 = (code *)0xffffffff;
          if (-1 < (int)pcVar42) {
            uVar13 = 0xffffffff;
            pcStack_188 = (code *)0xffffffff;
            param_5 = (code *)0xffffffff;
            pcStack_184 = (code *)0xffffffff;
            pcVar38 = (code *)0xffffffff;
            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);
            goto LAB_000c5ae4;
          }
        }
        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;
        uVar13 = 0xffffffff;
        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;
        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
        pcVar22[9] = (code)0x1;
        iVar32 = *(int *)(pcVar43 + 0xc);
        param_5 = (code *)0xffffffff;
        pcVar27 = pcVar43;
        pcStack_17c = param_1;
        if (iVar32 != 2) goto LAB_000c5b7c;
        goto LAB_000c6e58;
      }
    }
    goto LAB_000c4d78;
  }
  iVar32 = *(int *)(param_4 + 0xc);
  if (iVar32 != 0) {
    uVar13 = *(uint *)(iVar32 + 4);
    while ((uVar13 & 0x1000) != 0) {
      if ((uVar13 & 0x40000) == 0) {
        iVar32 = *(int *)(iVar32 + 0xc);
      }
      else {
        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);
      }
      if (iVar32 == 0) break;
      uVar13 = *(uint *)(iVar32 + 4);
    }
  }
  param_5 = *(code **)(param_4 + 0x10);
  if (param_5 != (code *)0x0) {
    uVar13 = *(uint *)(param_5 + 4);
    while ((uVar13 & 0x1000) != 0) {
      if ((uVar13 & 0x40000) == 0) {
        param_5 = *(code **)(param_5 + 0xc);
      }
      else {
        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);
      }
      if (param_5 == (code *)0x0) break;
      uVar13 = *(uint *)(param_5 + 4);
    }
  }
  uVar23 = 0x1fff;
  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||
      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {
    uVar23 = 0x800;
  }
  if (0 < *(int *)(pcVar43 + 0x18)) {
    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);
  }
  iVar39 = *(int *)(puVar47 + 0x96c4c);
  pcVar31 = pcVar42;
  iVar32 = (*(code *)(iVar39 + -0x28cc))
                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);
  if (iVar32 != 0) {
    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;
    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;
    if (param_1 == (code *)&DAT_00000031) {
      uVar14 = 1;
    }
    else {
      uVar14 = 0x100;
      if (param_1 != (code *)0x32) {
        if (param_1 == (code *)0x2d) {
          uVar14 = 0x80;
        }
        else {
          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));
        }
      }
    }
    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;
  }
  if (param_1 == (code *)0x2d) {
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;
  }
  pcVar38 = (code *)&uStack_160;
  pcStack_190 = pcVar37;
  pcStack_18c = pcVar48;
  if (param_5 == (code *)0x0) goto LAB_000c4d78;
  pcVar31 = *(code **)(pcVar43 + 0x24);
  pcVar54 = (code *)&uStack_160;
  pcVar55 = param_5;
  pcVar56 = param_1;
  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);
  if (iVar32 == 0) goto LAB_000c4d78;
  uVar49 = uVar50;
  if (*(int *)(pcVar43 + 0x14) < 0) {
    iVar32 = *(int *)(param_4 + 0xc);
    uVar13 = 0;
    param_5 = param_4;
  }
  else {
    pcVar31 = (code *)0x0;
    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))
                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);
    uVar53 = uVar50;
    if (pcVar6[0x51] != (code)0x0) {
      pcVar38 = pcVar6;
      if (param_5 == (code *)0x0) goto LAB_000c4c58;
      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);
      goto LAB_000c4c58;
    }
    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
    iVar32 = (*pcVar38)(pcVar22,param_5,3);
    if (iVar32 == 0) goto LAB_000c4c58;
    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);
    *(code **)(pcVar43 + 0x10) = pcStack_120;
    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =
         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
    if (param_1 == (code *)0x2d) {
      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;
    }
    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;
    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;
    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {
      iVar32 = *(int *)(param_5 + 0xc);
      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&
         ((*(uint *)(param_5 + 4) & 1) == 0)) {
        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);
        iVar39 = (*pcVar27)(iVar32);
        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));
        pcStack_188 = pcVar48;
        if (iVar39 == iVar29) {
          iVar32 = *(int *)(param_5 + 0xc);
        }
        else {
          iVar32 = *(int *)(param_5 + 0xc);
          uVar49 = CONCAT44(pcVar27,pcVar37);
          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))
          goto LAB_000c5710;
        }
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))
                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));
        if (iVar32 == 0) {
LAB_000c5964:
          uVar14 = *(ushort *)(pcVar46 + 0xc);
LAB_000c5968:
          uVar13 = 0x800;
          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;
        }
        else {
          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&
             (*(int *)(iVar32 + 8) == 0)) {
            uVar14 = *(ushort *)(pcVar46 + 0xc);
            goto LAB_000c5968;
          }
          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))
                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)
                             );
          if (iVar32 != 0) goto LAB_000c5964;
        }
        iVar32 = *(int *)(param_5 + 0xc);
        uVar49 = uVar50;
      }
    }
    else {
      iVar32 = *(int *)(param_5 + 0xc);
      uVar13 = 0;
    }
  }
LAB_000c5710:
  iVar39 = *(int *)(param_5 + 0x10);
  uVar18 = *(uint *)(iVar39 + 4) & 0x100;
  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {
    if (uVar18 == 0) {
      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);
      if (iVar32 != 0) {
        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;
      }
      iVar39 = *(int *)(param_5 + 0x10);
      iVar32 = *(int *)(param_5 + 0xc);
      uVar49 = uVar50;
    }
    else {
      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;
      iVar39 = *(int *)(param_5 + 0x10);
      iVar32 = *(int *)(param_5 + 0xc);
    }
  }
  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);
  pcStack_18c = (code *)uVar49;
  *(int *)(param_5 + 0xc) = iVar39;
  *(int *)(param_5 + 0x10) = iVar32;
  if (0x35 < (byte)*param_5) {
    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);
  }
  *(undefined8 *)(pcVar43 + 0x28) = uVar50;
  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;
  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);
  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;
  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;
  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;
  uVar18 = (uint)(byte)*param_5;
  if (uVar18 == 0x31) {
    uVar18 = 1;
  }
  else if (uVar18 == 0x32) {
    uVar18 = 0x100;
  }
  else if (uVar18 == 0x2d) {
    uVar18 = 0x80;
  }
  else {
    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;
  }
  param_1 = (code *)(uVar13 + uVar18);
  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;
  pcVar38 = pcVar43;
  uVar53 = uVar50;
LAB_000c4d78:
  pcVar43 = pcVar46;
  uVar50 = uVar53;
  if (pcVar22[8] == (code)0x2c) {
    uVar13 = (uint)(byte)*param_4;
    if (uVar13 == 0x9d) {
      pcVar31 = (code *)0x1;
      if (*(int **)(param_4 + 0x14) != (int *)0x0) {
        iVar39 = **(int **)(param_4 + 0x14);
        pcVar38 = *(code **)pcVar17;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))
                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);
        pcVar42 = (code *)uVar53;
        if (iVar32 == 0) {
LAB_000c55a8:
          cVar15 = pcVar22[8];
          pcVar43 = pcVar46;
        }
        else {
          pcStack_190 = *(code **)(iVar32 + 4);
          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;
          iVar29 = *(int *)(param_4 + 0x14);
          if (2 < iVar39) {
            if (**(char **)(iVar29 + 0x2c) == 'j') {
              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);
              bVar2 = *pbVar7;
              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;
            }
            goto LAB_000c55a8;
          }
          bStack_155 = 0;
          bVar2 = bStack_155;
LAB_000c50e4:
          bStack_155 = bVar2;
          pbVar7 = *(byte **)(iVar32 + 8);
          pcVar40 = *(char **)(iVar29 + 4);
          bStack_158 = *pbVar7;
          bStack_157 = pbVar7[1];
          bStack_156 = pbVar7[2];
          if (pcVar40 == (char *)0x0) {
LAB_000c5154:
                    /* WARNING: Does not return */
            pcVar31 = (code *)trap(0);
            (*pcVar31)();
          }
          uVar13 = *(uint *)(pcVar40 + 4);
          while ((uVar13 & 0x1000) != 0) {
            if ((uVar13 & 0x40000) == 0) {
              pcVar40 = *(char **)(pcVar40 + 0xc);
            }
            else {
              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);
            }
            if (pcVar40 == (char *)0x0) goto LAB_000c5154;
            uVar13 = *(uint *)(pcVar40 + 4);
          }
          cVar16 = *pcVar40;
          pcVar35 = *(char **)(iVar29 + 0x18);
          if (cVar16 == -0x70) {
            param_1 = (code *)0x0;
            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {
              iVar32 = *(int *)(pcVar40 + 0x20);
              uVar49 = CONCAT44(pcVar35,iVar32);
              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))
                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);
              if (param_1 == (code *)0x0) {
                iVar39 = *(int *)(pcVar17 + 8);
                uVar13 = *(uint *)(iVar39 + 0xd0);
              }
              else {
                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);
                if (iVar39 == 3) {
                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);
                  iVar39 = *(int *)(pcVar17 + 8);
                  if (iVar32 < 0x20) {
                    uVar13 = 1 << (iVar32 - 1U & 0x1f);
                    uVar49 = CONCAT44(pcVar35,uVar13);
                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;
                    param_5 = pcVar17;
                  }
                  else {
                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;
                    param_5 = pcVar17;
                  }
                  goto LAB_000c517c;
                }
                iVar39 = *(int *)(pcVar17 + 8);
                uVar13 = *(uint *)(iVar39 + 0xd0);
              }
              if (iVar32 < 0x20) {
                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;
                param_5 = pcVar17;
                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);
              }
              else {
                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;
                param_5 = pcVar17;
              }
            }
          }
          else {
            param_1 = (code *)0x0;
            if (cVar16 == 'j') {
              pbVar7 = *(byte **)(pcVar40 + 8);
LAB_000c517c:
              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
              iVar32 = (int)uVar49;
              if (pbVar7 != (byte *)0x0) {
                in_t4 = (code *)(uint)*pbVar7;
                in_t2 = (code *)(uint)bStack_157;
                in_t3 = (code *)(uint)bStack_156;
                pcVar48 = (code *)(uint)bStack_155;
                pcVar27 = in_t4;
                iVar39 = 0;
                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&
                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&
                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {
                  pcVar31 = (code *)(pbVar7 + iVar32);
                  bVar45 = pcVar48 == pcVar27;
                  pcVar27 = (code *)(uint)(byte)*pcVar31;
                  iVar39 = iVar32;
                  if (bVar45) {
                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;
                    iVar32 = iVar29 + 2;
                    pcVar27 = (code *)(uint)pbVar7[iVar32];
                    iVar39 = iVar32;
                  }
                }
                pcVar31 = (code *)(pbVar7 + iVar29);
                iVar39 = iVar29;
                uVar49 = CONCAT44(pcStack_1a4,iVar32);
                if (iVar29 != 0) {
LAB_000c51d0:
                  uVar50 = CONCAT44(pcVar35,iVar39);
                  uVar49 = CONCAT44(pcStack_1a4,iVar39);
                  if ((pcVar31[-1] != (code)0xff) &&
                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {
                    if ((code *)(uint)bStack_158 == pcVar27) {
                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);
                    }
                    else {
                      pcStack_18c = (code *)0x0;
                    }
                    pcVar36 = pcVar35;
                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))
                                                (pcVar38,0x6a,pbVar7);
                    pcStack_188 = pcVar48;
                    if (param_5 == (code *)0x0) {
                      if (cVar16 == -0x70) {
LAB_000c6c34:
                        piVar41 = *(int **)(pcVar17 + 8);
                        if (*(int *)(pcVar40 + 0x20) < 0x20) {
                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];
                        }
                        else {
                          uVar13 = piVar41[0x34] | 0x80000000;
                        }
                        piVar41[0x34] = uVar13;
                        iVar32 = *(int *)(puVar47 + 0x96c10);
                        pcVar35 = pcVar36;
                        if ((pcStack_18c != (code *)0x0) &&
                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {
                          cVar15 = (code)((char)pcVar17[0x13] - 1);
                          if (pcVar17[0x13] == (code)0x0) {
                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;
                            *(int *)(pcVar17 + 0x2c) = iVar32;
                          }
                          else {
                            pcVar17[0x13] = cVar15;
                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);
                          }
                          FUN_000bea74(pcVar17,pcVar40,iVar32);
                          if (*(char *)(*piVar41 + 0x51) == '\0') {
                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];
                          }
                          else {
                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;
                          }
                          *(undefined4 *)(iVar39 + 0xc) = 0;
                          if (iVar32 != 0) {
                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);
                          }
                          iVar32 = *(int *)(puVar47 + 0x96c10);
                          pcVar35 = pcVar36;
                        }
                        pcVar31 = (code *)0x0;
                        (*(code *)(iVar32 + -0x4bcc))(param_1);
                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
                        pcVar36 = pcVar35;
                        if (param_5 != (code *)0x0) goto LAB_000c52d0;
                      }
                      else {
                        pcVar31 = (code *)0x0;
                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
                      }
                    }
                    else {
                      in_t2 = *(code **)(param_5 + 8);
                      iVar29 = 0;
                      in_t2[iVar39] = (code)0x0;
                      iVar32 = 0;
                      do {
                        cVar15 = in_t2[iVar32];
                        iVar19 = iVar32 + 1;
                        if ((code *)(int)(char)cVar15 == pcVar48) {
                          pcVar31 = in_t2 + iVar19;
                          iVar19 = iVar32 + 2;
                          cVar15 = *pcVar31;
                        }
                        iVar29 = iVar29 + 1;
                        in_t3 = in_t2 + iVar29;
                        in_t3[-1] = cVar15;
                        iVar32 = iVar19;
                      } while (iVar19 < iVar39);
                      iVar32 = *(int *)(puVar47 + 0x96bcc);
                      *in_t3 = (code)0x0;
                      cVar15 = *in_t2;
                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);
                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||
                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {
                        iVar32 = *(int *)(puVar47 + 0x96bf8);
                        pcVar42 = pcVar48;
                        pcVar36 = pcVar35;
                        if (*pcVar35 == -0x62) {
                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);
                          if ((iVar32 == 0x42) &&
                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))
                          goto LAB_000c52ac;
                          iVar32 = *(int *)(puVar47 + 0x96bf8);
                        }
                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);
                        pcVar35 = pcVar36;
                        uVar49 = uVar50;
                        goto LAB_000c6178;
                      }
LAB_000c52ac:
                      pcVar36 = pcVar35;
                      if (cVar16 == -0x70) goto LAB_000c6c34;
                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
LAB_000c52d0:
                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))
                                                  (pcVar6,param_5,0,0);
                      pcVar36 = pcVar35;
                    }
                    if (((uint)pcStack_190 & 8) == 0) {
                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {
                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;
                        pcVar27 = *(code **)(param_5 + 8);
                        cVar15 = *pcVar27;
                        if (cVar15 != (code)0x0) {
                          iVar39 = *(int *)(puVar47 + 0x96bcc);
                          in_t2 = (code *)0x0;
                          iVar32 = *(int *)(puVar47 + 0x96bcc);
                          do {
                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);
                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);
                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));
                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);
                            in_t2 = in_t2 + 1;
                            *pcVar27 = cVar24;
                            pcVar27 = in_t2 + *(int *)(param_5 + 8);
                            cVar15 = *pcVar27;
                          } while (cVar15 != (code)0x0);
                        }
                      }
                      if (pcVar6[0x51] == (code)0x0) {
                        iVar32 = *(int *)(pcVar31 + 8);
                        if (iVar32 == 0) {
                          bVar2 = *(byte *)(in_zero + -1);
                          pbVar7 = (byte *)0xffffffff;
                        }
                        else {
                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);
                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));
                          bVar2 = *pbVar7;
                        }
                        if (bVar2 == 0x40) {
                          pcStack_18c = (code *)0x0;
                        }
                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;
                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1
                        ;
                      }
                      else {
                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;
                      }
                    }
                    else {
                      iVar32 = *(int *)(puVar47 + 0x96bcc);
                      if (pcVar6[0x51] == (code)0x0) {
                        iVar32 = *(int *)(pcVar31 + 8);
                        if (iVar32 == 0) {
                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';
                        }
                        else {
                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);
                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));
                          *pcVar40 = *pcVar40 + '\x01';
                        }
                        iVar32 = *(int *)(puVar47 + 0x96bcc);
                      }
                      iVar32 = iVar32 + -0x7be0;
                    }
                    iVar39 = *(int *)(puVar47 + 0x96c38);
                    if (pcStack_1a4 == (code *)0x0) {
                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);
                      uVar8 = (*param_1)(pcVar17,0,iVar32);
                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);
                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);
                      if (iVar39 == 0) {
                        iVar29 = *(int *)(puVar47 + 0x96c38);
                        iVar39 = 0;
                      }
                      else {
                        iVar29 = *(int *)(puVar47 + 0x96c38);
                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;
                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                      }
                      pcVar46 = (code *)(iVar29 + -0x73f4);
                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);
                      iVar29 = *(int *)(puVar47 + 0x96dac);
                      FUN_000c4ac8(pcVar26,pcVar22,param_5);
                    }
                    else {
                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);
                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);
                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);
                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);
                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);
                      if (iVar29 == 0) {
                        iVar19 = *(int *)(puVar47 + 0x96c38);
                        iVar29 = 0;
                      }
                      else {
                        iVar19 = *(int *)(puVar47 + 0x96c38);
                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;
                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                      }
                      pcVar46 = (code *)(iVar19 + -0x73f4);
                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);
                      iVar29 = *(int *)(puVar47 + 0x96dac);
                      FUN_000c4ac8(pcVar26,pcVar22,param_5);
                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);
                    }
                    pcStack_190 = (code *)(iVar29 + 0x4ac8);
                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);
                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);
                    if (iVar32 != 0) {
                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;
                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                    }
                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);
                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);
                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);
                    uVar53 = CONCAT44(pcVar36,pcVar42);
                    if (pcStack_18c != (code *)0x0) {
                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =
                           pcStack_120;
                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =
                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =
                           pcStack_120;
                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =
                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);
                      uVar53 = CONCAT44(pcVar36,pcVar42);
                    }
                    goto LAB_000c55a8;
                  }
                }
              }
            }
          }
LAB_000c6178:
          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
          uVar53 = CONCAT44(pcVar35,pcVar42);
          cVar15 = pcVar22[8];
        }
        uVar50 = uVar53;
        if (cVar15 != (code)0x2c) goto LAB_000c4d88;
        uVar13 = (uint)(byte)*param_4;
      }
    }
    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);
    uVar18 = (uint)uVar53;
    uVar51 = CONCAT44(param_1,param_5);
    cVar15 = (code)0x2c;
    if (uVar13 == 0x9d) {
      pcVar38 = *(code **)(param_4 + 0x14);
      uVar50 = uVar53;
      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {
        pcVar42 = *(code **)(pcVar38 + 0x18);
        if ((*pcVar42 == (code)0x9e) &&
           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {
          in_t4 = (code *)0x0;
          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);
          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;
          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);
          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);
          in_t5 = in_t3;
          while( true ) {
            pbVar30 = *(byte **)(param_4 + 8);
            pcVar27 = in_t6;
            if (in_t6[iVar32] == cVar24) {
              do {
                if (pcVar27 == (code *)0x0) {
                  uVar53 = CONCAT44(uVar8,uVar18);
                  pcVar46 = *(code **)(pcVar38 + 4);
                  uVar18 = 1;
                  in_t4 = in_t3 + (int)in_t4 * 8;
                  pcStack_18c = (code *)(uint)(byte)in_t4[4];
                  goto LAB_000c5c84;
                }
                pbVar30 = pbVar30 + 1;
                pbVar1 = pbVar7 + 1;
                pcVar31 = (code *)(uint)*pbVar30;
                uVar18 = (uint)(byte)pcVar31[iVar32];
                pbVar7 = pbVar7 + 1;
                pcVar27 = pcVar31;
              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));
            }
            in_t4 = in_t4 + 1;
            in_t5 = in_t5 + 8;
            if (in_t4 == (code *)&DAT_00000004) break;
            pbVar7 = *(byte **)in_t5;
            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);
          }
        }
        uVar53 = CONCAT44(uVar8,uVar18);
        pcVar42 = *(code **)(pcVar38 + 4);
        uVar50 = CONCAT44(uVar8,uVar18);
        if ((*pcVar42 == (code)0x9e) &&
           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {
          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);
          if (puVar20 == (undefined4 *)0x0) {
LAB_000c7224:
                    /* WARNING: Does not return */
            pcVar31 = (code *)trap(0);
            (*pcVar31)();
          }
          pcVar31 = (code *)*puVar20;
          while (pcVar6 != pcVar31) {
            puVar20 = (undefined4 *)puVar20[6];
            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;
            pcVar31 = (code *)*puVar20;
          }
          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);
          pcVar31 = (code *)auStack_168;
          if (pcVar27 != (code *)0x0) {
            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164
                               );
            uVar53 = CONCAT44(uVar8,uVar18);
            if (0x95 < (int)uVar13) {
              pcStack_18c = (code *)(uVar13 & 0xff);
              pcVar46 = *(code **)(pcVar38 + 0x18);
              uVar18 = 1;
              goto LAB_000c5c84;
            }
            goto LAB_000c609c;
          }
          goto LAB_000c60a0;
        }
      }
    }
    else {
      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {
        pcVar42 = *(code **)(param_4 + 0xc);
        pcVar27 = *(code **)(param_4 + 0x10);
        if (*pcVar42 == (code)0x9e) {
          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);
        }
        else {
          uVar18 = 0;
        }
        pcVar46 = pcVar27;
        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&
           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {
          uVar18 = uVar18 + 1;
          pcVar46 = pcVar42;
          pcVar42 = pcVar27;
        }
        if (uVar13 == 0x34) {
          pcStack_18c = (code *)0x44;
        }
        else if (uVar13 == 0x9c) {
          pcStack_18c = (code *)0x45;
        }
        else {
          pcStack_18c = (code *)0x46;
          if (uVar13 != 0x33) {
            pcStack_18c = (code *)0x0;
          }
        }
LAB_000c5c84:
        pcStack_188 = *(code **)(puVar47 + 0x96c38);
        iVar32 = *(int *)(puVar47 + 0x96c78);
        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
LAB_000c5d04:
        pcVar27 = pcVar42;
        pcVar38 = pcVar46;
        uVar18 = uVar18 - 1;
        if (uVar18 != 0xffffffff) {
          pcVar46 = pcVar27;
          pcVar42 = pcVar38;
          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;
          if (pcVar27 != (code *)0x0) {
            (*pcStack_1b0)(pcStack_1b8,pcVar27);
          }
          pcVar31 = (code *)0x0;
          uVar51 = 0;
          goto LAB_000c5d38;
        }
        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);
LAB_000c609c:
        cVar15 = pcVar22[8];
LAB_000c60a0:
        param_1 = (code *)(uVar51 >> 0x20);
        param_5 = (code *)uVar51;
        uVar50 = uVar53;
        if (cVar15 != (code)0x2c) goto LAB_000c4d88;
        uVar13 = (uint)(byte)*param_4;
      }
      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);
      uVar9 = (undefined4)uVar51;
      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
      pcVar42 = (code *)uVar49;
      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {
        pcVar40 = *(char **)(param_4 + 0xc);
        cVar16 = *pcVar40;
        if (cVar16 == -0x5c) {
          cVar16 = pcVar40[0x28];
        }
        if (cVar16 == -0x5b) {
          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);
        }
        else {
          if (cVar16 != '\x7f') goto LAB_000c55f8;
          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);
        }
        uVar51 = CONCAT44(param_1,uVar9);
        if (1 < (int)param_1) {
          pcVar35 = *(char **)(param_4 + 0x10);
          cVar16 = *pcVar35;
          if (cVar16 == -0x5c) {
            cVar16 = pcVar35[0x28];
          }
          if (cVar16 == -0x5b) {
            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);
          }
          else {
            uVar51 = CONCAT44(param_1,uVar9);
            if (cVar16 != '\x7f') goto LAB_000c55f8;
            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);
          }
          uVar51 = CONCAT44(param_1,uVar9);
          if ((param_1 == pcVar27) &&
             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||
              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {
            pcVar42 = (code *)0x0;
            iVar32 = *(int *)(puVar47 + 0x96c78);
            iVar39 = *(int *)(puVar47 + 0x96c78);
            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
            while( true ) {
              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);
              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))
                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);
              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);
              if (iVar29 != 0) {
                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;
                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);
              }
              uVar9 = (*pcVar38)(pcVar22,iVar29,1);
              pcVar42 = pcVar42 + 1;
              uVar49 = CONCAT44(pcStack_1a4,pcVar42);
              (*pcStack_190)(pcVar26,pcVar22,uVar9);
              if (pcVar42 == param_1) break;
              pcVar40 = *(char **)(param_4 + 0xc);
            }
            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));
            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);
            *(undefined2 *)(pcVar43 + 0xc) = 0;
            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;
            param_5 = pcVar17;
            uVar50 = uVar53;
            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;
            uVar13 = (uint)(byte)*param_4;
            uVar51 = CONCAT44(param_1,pcVar17);
          }
        }
      }
LAB_000c55f8:
      param_1 = (code *)(uVar51 >> 0x20);
      param_5 = (code *)uVar51;
      uVar49 = CONCAT44(pcStack_1a4,pcVar42);
      uVar50 = uVar53;
      if (uVar13 == 0x31) {
        iVar32 = *(int *)(pcVar43 + 0x18);
        uVar49 = CONCAT44(pcStack_1a4,iVar32);
        if (((iVar32 == 0) &&
            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),
            *pcVar40 == -0x5b)) &&
           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),
           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {
          param_1 = (code *)0xa5;
          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
          cVar16 = -0x5b;
          iVar32 = 0;
          while( true ) {
            uVar49 = CONCAT44(pcStack_1a4,iVar32);
            if (cVar16 == -0x5b) {
              iVar29 = **(int **)(pcVar40 + 0x14);
            }
            else if (cVar16 == '\x7f') {
              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);
            }
            else {
              iVar29 = 1;
            }
            param_5 = pcStack_19c;
            uVar50 = uVar53;
            if (iVar29 <= iVar32) break;
            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);
            iVar32 = iVar32 + 1;
            pcVar43 = (code *)(iVar29 * 0x30);
            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;
            FUN_000c4ac8(pcVar26,pcVar22,iVar29);
            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;
            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =
                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
            pcVar40 = *(char **)(param_4 + 0xc);
            cVar16 = *pcVar40;
            if (cVar16 == -0x5c) {
              cVar16 = pcVar40[0x28];
            }
          }
        }
      }
    }
  }
LAB_000c4d88:
  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
  pcVar42 = (code *)uVar49;
  iVar32 = *(int *)(pcVar22 + 0x14);
  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;
  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;
  pcVar27 = pcVar22;
  uVar53 = uVar50;
  uVar50 = CONCAT44(pcStack_190,pcStack_18c);
LAB_000c4c58:
  if (iStack_154 == *piVar5) {
    return;
  }
  (**(code **)(puVar47 + 0x96f48))();
  pcVar46 = param_5;
LAB_000c7158:
  uVar13 = 0;
LAB_000c6df0:
  uVar18 = 1 << (uVar13 & 0x1f);
  if ((uVar13 & 0x20) == 0) {
    uVar13 = 0;
  }
  else {
    uVar13 = uVar18;
    uVar18 = 0;
  }
  in_t2 = (code *)((uint)in_t2 | uVar18);
  in_t3 = (code *)((uint)in_t3 | uVar13);
  while( true ) {
    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);
    pcVar48 = (code *)((int)uVar53 + 1);
    pcVar31 = pcVar31 + 0x30;
    if (pcVar37 == pcVar48) break;
LAB_000c6d54:
    uVar53 = CONCAT44(pcVar37,pcVar48);
    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&
        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||
       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {
      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {
        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;
        uVar18 = 1;
        pcVar22 = in_t6 + 500;
        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {
          iVar32 = *(int *)pcVar22;
          uVar18 = uVar13 + 1;
          pcVar22 = pcVar22 + 4;
          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;
        }
      }
    }
  }
  uVar13 = 0;
  param_5 = (code *)0x0;
  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);
  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);
  pcVar22 = pcVar27;
  while( true ) {
    pcVar42 = pcVar42 + -1;
    pcVar46 = pcVar46 + 0x30;
    if (pcVar42 == pcVar38) break;
    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;
LAB_000c5ae4:
    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);
    pcStack_18c = (code *)uVar50;
    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {
      if (param_1[0x51] != (code)0x0) {
LAB_000c5b1c:
        uVar13 = 0;
        param_5 = (code *)0x0;
        goto LAB_000c5b24;
      }
      pcVar31 = (code *)0x198;
      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);
      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;
      pcVar27 = *(code **)(puVar47 + 0x96eec);
      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;
      *(undefined2 *)(pcVar46 + 0xc) = 0x400;
      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;
      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);
      uVar9 = *(undefined4 *)pcVar22;
      *(undefined1 *)((int)puVar20 + 9) = 0;
      *puVar20 = uVar9;
      puVar20[1] = 0;
      puVar20[3] = 0;
      puVar20[4] = 8;
      puVar20[5] = uVar8;
      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);
      pcVar27 = (code *)(puVar20[3] + -1);
      in_t4 = param_5;
      if (-1 < (int)pcVar27) {
        do {
          pcVar48 = pcVar27 + -1;
          (*pcStack_190)(pcVar26,puVar20,pcVar27);
          in_t4 = param_5;
          pcVar27 = pcVar48;
        } while (pcVar48 != pcVar38);
      }
      puVar20[1] = pcVar22;
      if (param_1[0x51] != (code)0x0) {
        if (pcVar42 != (code *)0x0) {
          uVar13 = 0;
          param_5 = (code *)0x0;
          goto LAB_000c5efc;
        }
LAB_000c7130:
        *(undefined4 *)(pcVar43 + 0x19c) = 0;
        *(undefined4 *)(pcVar43 + 0x198) = 0;
        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
        pcVar27 = pcVar38;
        param_5 = pcVar46;
        goto LAB_000c5c2c;
      }
      pcVar37 = (code *)puVar20[3];
      pcVar31 = (code *)puVar20[5];
      if ((int)pcVar37 < 1) {
        if (pcVar42 != (code *)0x0) goto LAB_000c7130;
        *(undefined4 *)(pcVar43 + 0x19c) = 0;
        uVar13 = 0;
        *(undefined4 *)(pcVar43 + 0x198) = 0;
        param_5 = (code *)0x0;
        goto LAB_000c5f04;
      }
      pcVar48 = (code *)0x0;
      in_t3 = (code *)0x0;
      in_t2 = (code *)0x0;
      in_t5 = (code *)0x40;
      in_t4 = (code *)0x1f31;
      in_t6 = pcStack_1a4;
      pcVar27 = pcVar22;
      goto LAB_000c6d54;
    }
    uVar23 = *(ushort *)(pcVar46 + 10);
    if ((uVar23 & 8) != 0) goto LAB_000c5b24;
    pcVar31 = (code *)(uVar23 & 2);
    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);
    if ((int)uVar18 < 1) {
      uVar34 = 0;
      uVar21 = 0;
    }
    else {
      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);
      if (*(code **)(pcVar46 + 0x14) == in_t2) {
        uVar21 = 0;
      }
      else {
        uVar21 = 0;
        pcVar27 = pcStack_1a4 + 500;
        do {
          uVar21 = uVar21 + 1;
          if (uVar21 == uVar18) {
            uVar21 = 0;
            uVar34 = 0;
            goto LAB_000c6208;
          }
          pcVar48 = *(code **)pcVar27;
          pcVar27 = pcVar27 + 4;
        } while (*(code **)(pcVar46 + 0x14) != pcVar48);
      }
      uVar11 = 1 << (uVar21 & 0x1f);
      if ((uVar21 & 0x20) == 0) {
        uVar34 = 0;
        uVar21 = uVar11;
      }
      else {
        uVar21 = 0;
        uVar34 = uVar11;
      }
LAB_000c6208:
      if ((uVar23 & 2) != 0) {
        pcVar31 = *(code **)(pcVar46 + 0x10);
        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);
        uVar11 = 0;
        if (pcVar37 != in_t2) {
          uVar4 = 1;
          pcVar27 = pcStack_1a4 + 500;
          do {
            uVar11 = uVar4;
            if (uVar11 == uVar18) goto LAB_000c6210;
            pcVar31 = *(code **)pcVar27;
            uVar4 = uVar11 + 1;
            pcVar27 = pcVar27 + 4;
          } while (pcVar31 != pcVar37);
        }
        uVar18 = 1 << (uVar11 & 0x1f);
        if ((uVar11 & 0x20) == 0) {
          uVar11 = 0;
        }
        else {
          uVar11 = uVar18;
          uVar18 = 0;
        }
        uVar21 = uVar21 | uVar18;
        uVar34 = uVar34 | uVar11;
      }
    }
LAB_000c6210:
    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);
    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);
    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {
      uVar13 = 0;
      param_5 = (code *)0x0;
    }
    else {
      uVar13 = uVar13 & uVar34;
      param_5 = (code *)((uint)param_5 & uVar21);
    }
  }
LAB_000c5b30:
  pcStack_18c = (code *)uVar50;
  *(code **)(pcVar43 + 0x198) = pcStack_188;
  *(code **)(pcVar43 + 0x19c) = pcStack_184;
  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;
  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
  pcVar22[9] = (code)0x1;
  in_t4 = param_5;
  if (*(int *)(pcVar43 + 0xc) == 2) {
LAB_000c6e58:
    piVar41 = *(int **)(pcVar43 + 0x14);
    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);
    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);
    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
    pcVar27 = (code *)0x0;
LAB_000c6e8c:
    uVar49 = CONCAT44(param_1,pcStack_18c);
    uVar53 = CONCAT44(param_1,pcStack_18c);
    uVar50 = CONCAT44(param_1,pcStack_18c);
    pcStack_18c = pcVar27 + 1;
    in_t4 = param_5;
    pcVar46 = param_5;
    if (*(short *)(piVar41 + 3) == 0x400) {
      uVar50 = uVar53;
      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||
         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,
         piVar44 == (int *)0x0)) goto LAB_000c5b6c;
    }
    else {
      piVar44 = piVar41;
      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;
    }
    pcVar42 = *(code **)(puVar47 + 0x96dac);
    pcVar38 = (code *)0x0;
    sVar28 = *(short *)(piVar41 + 0xf);
    pcStack_184 = pcVar42 + 0x4ac8;
    iVar32 = 0;
    do {
      pcVar27 = pcStack_18c;
      if (sVar28 == 0x400) {
        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;
        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);
      }
      else {
        pcVar38 = (code *)(piVar41 + 0xc);
        if (iVar32 != 0) goto LAB_000c6e8c;
      }
      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;
      uVar23 = *(ushort *)(piVar44 + 3);
      pcVar42 = (code *)(uint)uVar23;
      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {
        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);
        pcVar42 = (code *)(uint)uVar23;
        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||
           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {
          pcVar31 = (code *)0xffffffff;
          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),
                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));
          if (iVar39 == 0) {
            pcVar31 = (code *)0xffffffff;
            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),
                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));
            if (iVar39 == 0) {
              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&
                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {
                pcVar42 = (code *)&DAT_00000008;
              }
              pcVar31 = (code *)0x0;
              if ((*piVar44 != 0) &&
                 (puVar12 = (undefined1 *)
                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),
                 puVar12 != (undefined1 *)0x0)) {
                uVar25 = 0x35;
                if (pcVar42 != (code *)&SUB_00000002) {
                  iVar39 = 0x35;
                  do {
                    uVar18 = iVar39 - 0x34;
                    iVar39 = iVar39 + 1;
                    uVar25 = (undefined1)iVar39;
                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));
                }
                *puVar12 = uVar25;
                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);
                (*pcStack_184)(pcVar26,pcVar22,uVar8);
              }
            }
          }
          piVar41 = *(int **)(pcVar43 + 0x14);
          sVar28 = *(short *)(piVar41 + 0xf);
        }
      }
      iVar32 = iVar32 + 1;
    } while( true );
  }
  goto LAB_000c5b6c;
LAB_000c5cbc:
  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);
  if ((pcVar27 == (code *)0x0) ||
     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {
    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);
LAB_000c5d38:
    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);
    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {
      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;
    }
    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);
    iVar39 = iVar39 * 0x30;
    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;
    *(ulonglong *)(iVar29 + 0x20) = uVar51;
    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);
    uVar8 = *(undefined4 *)(pcVar27 + 0x20);
    *(undefined2 *)(iVar29 + 0xc) = 0x40;
    *(undefined4 *)(iVar29 + 0x1c) = uVar8;
    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;
    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;
    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =
         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);
    uVar8 = *(undefined4 *)(pcVar43 + 0x28);
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;
    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);
    *(undefined4 *)(iVar29 + 0x28) = uVar8;
  }
  goto LAB_000c5d04;
LAB_000c5efc:
  *(undefined4 *)(pcVar43 + 0x19c) = 0;
  *(undefined4 *)(pcVar43 + 0x198) = 0;
LAB_000c5f04:
  pcStack_18c = (code *)uVar50;
  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;
  in_t4 = param_5;
LAB_000c5b6c:
  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);
  pcStack_18c = (code *)uVar50;
  pcVar27 = pcVar38;
  param_5 = pcVar46;
  if (uVar13 != 0 || in_t4 != (code *)0x0) {
    iVar32 = *(int *)(pcVar43 + 0xc);
    param_5 = in_t4;
    pcVar27 = pcVar43;
    pcStack_17c = param_1;
LAB_000c5b7c:
    pcVar46 = pcStack_1a4;
    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);
    pcVar42 = (code *)0x0;
    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);
    pcVar31 = (code *)0xffffffff;
    in_t4 = param_5;
    param_1 = pcStack_17c;
LAB_000c5bb0:
    iVar32 = iVar32 + -1;
    piVar41 = *(int **)(pcVar27 + 0x14);
    pcStack_190 = pcVar22;
    if (-1 < iVar32) {
      in_t5 = (code *)0x1;
      in_t4 = (code *)0xffffffff;
      do {
        pcVar38 = (code *)piVar41[5];
        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;
        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {
          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {
            uVar18 = 0;
          }
          else {
            uVar18 = 0;
            pcVar43 = pcStack_1a4 + 500;
            do {
              uVar18 = uVar18 + 1;
              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;
              pcVar48 = *(code **)pcVar43;
              pcVar43 = pcVar43 + 4;
            } while (pcVar38 != pcVar48);
          }
          uVar21 = 1 << (uVar18 & 0x1f);
          if ((uVar18 & 0x20) == 0) {
            uVar18 = 0;
          }
          else {
            uVar18 = uVar21;
            uVar21 = 0;
          }
          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;
        }
LAB_000c5c1c:
        iVar32 = iVar32 + -1;
        piVar41 = piVar41 + 0xc;
        if (iVar32 == -1) break;
      } while( true );
    }
  }
LAB_000c5c2c:
  uVar49 = CONCAT44(pcStack_1a4,pcVar42);
  pcVar38 = pcVar27;
  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));
  goto LAB_000c4d78;
LAB_000c5b24:
  pcVar42 = pcVar42 + -1;
  pcVar46 = pcVar46 + 0x30;
  if (pcVar42 == pcVar38) goto LAB_000c5b30;
  goto LAB_000c5ae4;
code_r0x000c6748:
  param_1 = (code *)piVar41[7];
  pcStack_188 = *(code **)(*piVar41 + 0xc);
LAB_000c6784:
  if (param_1 == (code *)piVar41[7]) {
    iVar39 = *piVar41;
    if (param_1 == (code *)&SUB_fffffffe) {
      pcVar31 = (code *)0xffffffff;
      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);
      if (iVar39 != 0) goto LAB_000c6790;
      iVar39 = *piVar41;
    }
    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));
    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));
    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {
      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;
      piVar44 = piVar41;
LAB_000c6768:
      iVar32 = iVar32 + -1;
      piVar41 = piVar44 + 0xc;
      if (iVar32 != -1) {
        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;
        goto LAB_000c6784;
      }
      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);
      piVar41 = *(int **)(pcVar27 + 0x14);
      if ((int)param_5 < 0) {
        pcVar31 = (code *)0x0;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);
        param_1 = pcStack_17c;
        if (iVar32 == 0) goto LAB_000c5c2c;
        pcVar38 = (code *)0x0;
      }
      else {
        iVar39 = *(int *)(puVar47 + 0x96c38);
        iVar32 = 0;
        pcVar38 = (code *)0x0;
        pcVar42 = (code *)0xffffffff;
        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);
        do {
          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {
            iVar32 = *(int *)(*piVar41 + 0x10);
            if (iVar32 != 0) {
              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);
              pcStack_1a4 = pcVar38;
            }
            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);
            iVar32 = *(int *)(*piVar41 + 0xc);
          }
          param_5 = param_5 + -1;
          piVar41 = piVar41 + 0xc;
        } while (param_5 != (code *)0xffffffff);
        if (iVar32 != 0) {
          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);
        }
        pcVar31 = (code *)0x0;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);
        param_5 = pcVar22;
        if (iVar32 == 0) {
          param_1 = pcStack_17c;
          if (pcVar38 != (code *)0x0) {
            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);
          }
          goto LAB_000c5c2c;
        }
      }
      iVar39 = *(int *)(puVar47 + 0x96c38);
      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);
      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;
      uVar3 = *(undefined2 *)(iStack_178 + 0x26);
      *(code **)(iVar32 + 0x14) = pcVar38;
      *(undefined2 *)(iVar32 + 0x26) = uVar3;
      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);
      FUN_000c4ac8(pcVar26,pcVar22,iVar32);
      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;
      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);
      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
      param_1 = pcStack_17c;
      goto LAB_000c5c2c;
    }
  }
LAB_000c6790:
  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;
  iVar32 = *(int *)(pcVar27 + 0xc);
  pcVar42 = (code *)0x1;
  pcVar31 = pcVar38;
  goto LAB_000c5bb0;
LAB_000c675c:
  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;
  piVar44 = piVar41;
  goto LAB_000c6768;
}


lui gp,0xa
addiu gp,gp,-0x12c0
addu gp,gp,t9
addiu sp,sp,-0x128
lw t9,-0x7f54(gp)
sw s5,0x114(sp)
addiu t9,t9,0x656c
sw s2,0x108(sp)
addiu s2,sp,0x1c
sw gp,0x10(sp)
sw ra,0x124(sp)
sw s8,0x120(sp)
or s8,a2,zero
sw s7,0x11c(sp)
sw s6,0x118(sp)
or s6,a3,zero
sw s4,0x110(sp)
or s4,a0,zero
sw s3,0x10c(sp)
addiu s3,sp,0xc4
sw s1,0x104(sp)
addiu s1,sp,0x54
sw s0,0x100(sp)
or a0,s3,zero
lw s5,-0x7b84(gp)
addiu s0,sp,0x8c
lw s7,0x138(sp)
sw zero,0x18(sp)
sw zero,0x54(sp)
sw zero,0x58(sp)
sw zero,0x5c(sp)
sw zero,0x60(sp)
sw zero,0x64(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
sw zero,0x70(sp)
sw zero,0x74(sp)
sw zero,0x78(sp)
sw zero,0x7c(sp)
sw zero,0x80(sp)
sw zero,0x84(sp)
sw zero,0x88(sp)
sw zero,0x8c(sp)
lw v0,0x0(s5)
sw v0,0xfc(sp)
sw zero,0x90(sp)
sw zero,0x1c(sp)
sw zero,0x94(sp)
sw zero,0x98(sp)
sw zero,0x9c(sp)
sw zero,0xa0(sp)
sw zero,0xa4(sp)
sw zero,0xa8(sp)
sw zero,0xac(sp)
sw zero,0xb0(sp)
sw zero,0xb4(sp)
sw zero,0xb8(sp)
sw zero,0xbc(sp)
sw zero,0xc0(sp)
sw zero,0x4(s2)
sw zero,0x8(s2)
sw zero,0xc(s2)
sw zero,0x10(s2)
sw zero,0x14(s2)
sw zero,0x18(s2)
sw zero,0x1c(s2)
sw zero,0x20(s2)
sw zero,0x24(s2)
sw zero,0x28(s2)
sw zero,0x2c(s2)
sw zero,0x30(s2)
sw zero,0x34(s2)
jalr t9
_lw a1,0x0(a1)
li v1,0x2c
lw gp,0x10(sp)
addiu a2,sp,0x18
lw v0,0x0(s8)
or a0,s4,zero
sb v1,0x1c(sp)
li v1,0x39
sw s1,0x28(sp)
or a1,s3,zero
sb v1,0x54(sp)
li v1,0x37
sw s0,0x2c(sp)
sw s3,0x60(sp)
sb v1,0x8c(sp)
lw t9,-0x7d3c(gp)
lw v1,0x4(v0)
lw v0,0x18(v0)
addiu t9,t9,0x29d4
sw s3,0x98(sp)
sw v1,0x64(sp)
bal 0x000c29d4
_sw v0,0x9c(sp)
li a0,-0x1001
lbu v1,0xc4(sp)
sw v0,0xe0(sp)
lw v0,0xc8(sp)
lw gp,0x10(sp)
sb v1,0xec(sp)
and v0,v0,a0
li a0,-0x5c
sw v0,0xc8(sp)
beq s7,zero,0x000c4a94
_sb a0,0xc4(sp)
lw a3,0x13c(sp)
or a2,s6,zero
or a1,s2,zero
or t9,s7,zero
jalr t9
_or a0,s4,zero
lw gp,0x10(sp)
lw a1,0x18(sp)
bne a1,zero,0x000c4a80
_lw t9,-0x7ef0(gp)
lw v1,0xfc(sp)
lw v0,0x0(s5)
bne v1,v0,0x000c4abc
_lw ra,0x124(sp)
lw s8,0x120(sp)
lw s7,0x11c(sp)
lw s6,0x118(sp)
lw s5,0x114(sp)
lw s4,0x110(sp)
lw s3,0x10c(sp)
lw s2,0x108(sp)
lw s1,0x104(sp)
lw s0,0x100(sp)
jr ra
_addiu sp,sp,0x128
addiu t9,t9,-0x7cb0
jalr t9
_or a0,s4,zero
b 0x000c4a44
_lw gp,0x10(sp)
lw t9,-0x7d3c(gp)
ori v0,v0,0x1
or a2,s6,zero
sw v0,0xc8(sp)
or a1,s2,zero
addiu t9,t9,-0x158c
bal 0x000bea74
_or a0,s4,zero
b 0x000c4a38
_lw gp,0x10(sp)
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}\n\n" (function_definition "void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" primitive_type (function_declarator "FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" identifier (parameter_list "(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "code *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "code *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined2 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int in_zero;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "code cVar15;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "ushort uVar23;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "code cVar24;" type_identifier identifier ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "short sVar28;" (sized_type_specifier "short" short) identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "undefined4 in_t0;" type_identifier identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "undefined4 in_t1;" type_identifier identifier ;) (declaration "char *pcVar35;" primitive_type (pointer_declarator "*pcVar35" * identifier) ;) (declaration "char *pcVar36;" primitive_type (pointer_declarator "*pcVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *in_t2;" type_identifier (pointer_declarator "*in_t2" * identifier) ;) (declaration "code *in_t3;" type_identifier (pointer_declarator "*in_t3" * identifier) ;) (declaration "code *in_t4;" type_identifier (pointer_declarator "*in_t4" * identifier) ;) (declaration "code *in_t5;" type_identifier (pointer_declarator "*in_t5" * identifier) ;) (declaration "code *in_t6;" type_identifier (pointer_declarator "*in_t6" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "char *pcVar40;" primitive_type (pointer_declarator "*pcVar40" * identifier) ;) (declaration "int *piVar41;" primitive_type (pointer_declarator "*piVar41" * identifier) ;) (declaration "code *pcVar42;" type_identifier (pointer_declarator "*pcVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "int *piVar44;" primitive_type (pointer_declarator "*piVar44" * identifier) ;) (declaration "code *pcVar46;" type_identifier (pointer_declarator "*pcVar46" * identifier) ;) (declaration "undefined *puVar47;" type_identifier (pointer_declarator "*puVar47" * identifier) ;) (declaration "code *pcVar48;" type_identifier (pointer_declarator "*pcVar48" * identifier) ;) (declaration "undefined8 uVar49;" type_identifier identifier ;) (declaration "undefined8 uVar50;" type_identifier identifier ;) (declaration "ulonglong uVar51;" type_identifier identifier ;) (declaration "ulonglong uVar52;" type_identifier identifier ;) (declaration "undefined8 uVar53;" type_identifier identifier ;) (declaration "code *pcVar54;" type_identifier (pointer_declarator "*pcVar54" * identifier) ;) (declaration "code *pcVar55;" type_identifier (pointer_declarator "*pcVar55" * identifier) ;) (declaration "code *pcVar56;" type_identifier (pointer_declarator "*pcVar56" * identifier) ;) (declaration "code *pcStack_1b8;" type_identifier (pointer_declarator "*pcStack_1b8" * identifier) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "code *pcStack_1a4;" type_identifier (pointer_declarator "*pcStack_1a4" * identifier) ;) (declaration "code *pcStack_19c;" type_identifier (pointer_declarator "*pcStack_19c" * identifier) ;) (declaration "uint uStack_198;" type_identifier identifier ;) (declaration "uint uStack_194;" type_identifier identifier ;) (declaration "code *pcStack_190;" type_identifier (pointer_declarator "*pcStack_190" * identifier) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code *pcStack_188;" type_identifier (pointer_declarator "*pcStack_188" * identifier) ;) (declaration "code *pcStack_184;" type_identifier (pointer_declarator "*pcStack_184" * identifier) ;) (declaration "undefined4 *puStack_180;" type_identifier (pointer_declarator "*puStack_180" * identifier) ;) (declaration "code *pcStack_17c;" type_identifier (pointer_declarator "*pcStack_17c" * identifier) ;) (declaration "int iStack_178;" primitive_type identifier ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined1 auStack_168 [4];" type_identifier (array_declarator "auStack_168 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_164 [4];" type_identifier (array_declarator "auStack_164 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_160;" type_identifier identifier ;) (declaration "undefined4 uStack_15c;" type_identifier identifier ;) (declaration "byte bStack_158;" type_identifier identifier ;) (declaration "byte bStack_157;" type_identifier identifier ;) (declaration "byte bStack_156;" type_identifier identifier ;) (declaration "byte bStack_155;" type_identifier identifier ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "undefined4 *puStack_150;" type_identifier (pointer_declarator "*puStack_150" * identifier) ;) (declaration "undefined4 *puStack_14c;" type_identifier (pointer_declarator "*puStack_14c" * identifier) ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "code *pcStack_144;" type_identifier (pointer_declarator "*pcStack_144" * identifier) ;) (declaration "code *pcStack_140;" type_identifier (pointer_declarator "*pcStack_140" * identifier) ;) (declaration "undefined *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "code *pcStack_138;" type_identifier (pointer_declarator "*pcStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined4 local_10c;" type_identifier identifier ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "undefined4 local_104;" type_identifier identifier ;) (declaration "undefined4 *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "undefined4 *local_fc;" type_identifier (pointer_declarator "*local_fc" * identifier) ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "undefined4 local_f0;" type_identifier identifier ;) (declaration "undefined4 local_ec;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined4 local_e4;" type_identifier identifier ;) (declaration "undefined4 local_e0;" type_identifier identifier ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "undefined4 local_ac;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "code *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined1 local_64 [4];" type_identifier (array_declarator "local_64 [4]" identifier [ number_literal ]) ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 local_3c;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(code *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar42 = (code *)&local_10c;" (assignment_expression "pcVar42 = (code *)&local_10c" identifier = (cast_expression "(code *)&local_10c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_10c" & identifier))) ;) (expression_statement "local_110 = (code *)0x0;" (assignment_expression "local_110 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (code *)0x0;" (assignment_expression "local_c8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (code *)0x0;" (assignment_expression "local_90 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;) (expression_statement "local_100 = (undefined4 *)0x0;" (assignment_expression "local_100 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_fc = (undefined4 *)0x0;" (assignment_expression "local_fc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "pcVar31 = param_4;" (assignment_expression "pcVar31 = param_4" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x656c)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x656c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x656c)" ( (binary_expression "PTR_LAB_0015b65c + 0x656c" identifier + number_literal) )))) )) (argument_list "(local_64,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "local_10c = CONCAT13(0x2c,local_10c._1_3_);" (assignment_expression "local_10c = CONCAT13(0x2c,local_10c._1_3_)" identifier = (call_expression "CONCAT13(0x2c,local_10c._1_3_)" identifier (argument_list "(0x2c,local_10c._1_3_)" ( number_literal , (field_expression "local_10c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_d4 = CONCAT13(0x39,local_d4._1_3_);" (assignment_expression "local_d4 = CONCAT13(0x39,local_d4._1_3_)" identifier = (call_expression "CONCAT13(0x39,local_d4._1_3_)" identifier (argument_list "(0x39,local_d4._1_3_)" ( number_literal , (field_expression "local_d4._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_9c = CONCAT13(0x37,local_9c._1_3_);" (assignment_expression "local_9c = CONCAT13(0x37,local_9c._1_3_)" identifier = (call_expression "CONCAT13(0x37,local_9c._1_3_)" identifier (argument_list "(0x37,local_9c._1_3_)" ( number_literal , (field_expression "local_9c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_c4 = *(undefined4 *)(*param_3 + 4);" (assignment_expression "local_c4 = *(undefined4 *)(*param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(*param_3 + 4)" * (cast_expression "(undefined4 *)(*param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 4)" ( (binary_expression "*param_3 + 4" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_8c = *(undefined4 *)(*param_3 + 0x18);" (assignment_expression "local_8c = *(undefined4 *)(*param_3 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(*param_3 + 0x18)" * (cast_expression "(undefined4 *)(*param_3 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x18)" ( (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_100 = &local_d4;" (assignment_expression "local_100 = &local_d4" identifier = (pointer_expression "&local_d4" & identifier)) ;) (expression_statement "local_fc = &local_9c;" (assignment_expression "local_fc = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "local_c8 = (code *)local_64;" (assignment_expression "local_c8 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_90 = (code *)local_64;" (assignment_expression "local_90 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = FUN_000c29d4(param_1,local_64,&local_110);" (assignment_expression "local_48 = FUN_000c29d4(param_1,local_64,&local_110)" identifier = (call_expression "FUN_000c29d4(param_1,local_64,&local_110)" identifier (argument_list "(param_1,local_64,&local_110)" ( identifier , identifier , (pointer_expression "&local_110" & identifier) )))) ;) (expression_statement "local_3c = local_64[0];" (assignment_expression "local_3c = local_64[0]" identifier = (subscript_expression "local_64[0]" identifier [ number_literal ])) ;) (expression_statement "local_60 = local_60 & 0xffffefff;" (assignment_expression "local_60 = local_60 & 0xffffefff" identifier = (binary_expression "local_60 & 0xffffefff" identifier & number_literal)) ;) (expression_statement "local_64[0] = (code)0xa4;" (assignment_expression "local_64[0] = (code)0xa4" (subscript_expression "local_64[0]" identifier [ number_literal ]) = (cast_expression "(code)0xa4" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" identifier = identifier) ;) (expression_statement "pcVar46 = param_4;" (assignment_expression "pcVar46 = param_4" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }" { (expression_statement "local_60 = local_60 | 1;" (assignment_expression "local_60 = local_60 | 1" identifier = (binary_expression "local_60 | 1" identifier | number_literal)) ;) (expression_statement "FUN_000bea74(param_1,pcVar42);" (call_expression "FUN_000bea74(param_1,pcVar42)" identifier (argument_list "(param_1,pcVar42)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" else (compound_statement "{\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" { (expression_statement "(*param_5)(param_1,pcVar42);" (call_expression "(*param_5)(param_1,pcVar42)" (parenthesized_expression "(*param_5)" ( (pointer_expression "*param_5" * identifier) )) (argument_list "(param_1,pcVar42)" ( identifier , identifier ))) ;) (expression_statement "pcVar31 = param_6;" (assignment_expression "pcVar31 = param_6" identifier = identifier) ;) }))) (expression_statement "pcVar22 = local_110;" (assignment_expression "pcVar22 = local_110" identifier = identifier) ;) (if_statement "if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" if (parenthesized_expression "(local_110 != (code *)0x0)" ( (binary_expression "local_110 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" { (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();" (call_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" * (cast_expression "(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6c0 + -0x7cb0)" ( (binary_expression "PTR_LAB_0015b6c0 + -0x7cb0" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_2c == *(int *)pcVar27) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)pcVar27)" ( (binary_expression "local_2c == *(int *)pcVar27" identifier == (pointer_expression "*(int *)pcVar27" * (cast_expression "(int *)pcVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar48 = FUN_000c4ac8;" (assignment_expression "pcVar48 = FUN_000c4ac8" identifier = identifier) ;) (expression_statement "puVar47 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar47 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(puVar47 + 0x96f64);" (assignment_expression "piVar5 = *(int **)(puVar47 + 0x96f64)" identifier = (pointer_expression "*(int **)(puVar47 + 0x96f64)" * (cast_expression "(int **)(puVar47 + 0x96f64)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96f64)" ( (binary_expression "puVar47 + 0x96f64" identifier + number_literal) ))))) ;) (expression_statement "pcStack_134 = param_5;" (assignment_expression "pcStack_134 = param_5" identifier = identifier) ;) (expression_statement "puStack_13c = pcVar27;" (assignment_expression "puStack_13c = pcVar27" identifier = identifier) ;) (expression_statement "pcVar38 = *(code **)pcVar22;" (assignment_expression "pcVar38 = *(code **)pcVar22" identifier = (pointer_expression "*(code **)pcVar22" * (cast_expression "(code **)pcVar22" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iStack_154 = *piVar5;" (assignment_expression "iStack_154 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "pcVar17 = *(code **)pcVar38;" (assignment_expression "pcVar17 = *(code **)pcVar38" identifier = (pointer_expression "*(code **)pcVar38" * (cast_expression "(code **)pcVar38" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar6 = *(code **)pcVar17;" (assignment_expression "pcVar6 = *(code **)pcVar17" identifier = (pointer_expression "*(code **)pcVar17" * (cast_expression "(code **)pcVar17" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar43 = (code *)local_64;" (assignment_expression "pcVar43 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStack_150 = &local_9c;" (assignment_expression "puStack_150 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "puStack_14c = &local_d4;" (assignment_expression "puStack_14c = &local_d4" identifier = (pointer_expression "&local_d4" & identifier)) ;) (expression_statement "pcStack_148 = pcVar42;" (assignment_expression "pcStack_148 = pcVar42" identifier = identifier) ;) (expression_statement "pcStack_144 = (code *)local_64;" (assignment_expression "pcStack_144 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_140 = param_1;" (assignment_expression "pcStack_140 = param_1" identifier = identifier) ;) (expression_statement "pcStack_138 = param_4;" (assignment_expression "pcStack_138 = param_4" identifier = identifier) ;) (expression_statement "piStack_130 = param_3;" (assignment_expression "piStack_130 = param_3" identifier = identifier) ;) (expression_statement "pcStack_12c = pcVar48;" (assignment_expression "pcStack_12c = pcVar48" identifier = identifier) ;) (expression_statement "pcStack_120 = pcVar46;" (assignment_expression "pcStack_120 = pcVar46" identifier = identifier) ;) (expression_statement "uVar53 = CONCAT44(in_t1,in_t0);" (assignment_expression "uVar53 = CONCAT44(in_t1,in_t0)" identifier = (call_expression "CONCAT44(in_t1,in_t0)" identifier (argument_list "(in_t1,in_t0)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;" if (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" ( (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcStack_1b8 = pcVar38 + 0x1e8;" (assignment_expression "pcStack_1b8 = pcVar38 + 0x1e8" identifier = (binary_expression "pcVar38 + 0x1e8" identifier + number_literal)) ;) (expression_statement "pcStack_19c = (code *)((int)pcVar46 * 0x30);" (assignment_expression "pcStack_19c = (code *)((int)pcVar46 * 0x30)" identifier = (cast_expression "(code *)((int)pcVar46 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar46 * 0x30)" ( (binary_expression "(int)pcVar46 * 0x30" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pcVar43 = pcStack_19c + iVar32;" (assignment_expression "pcVar43 = pcStack_19c + iVar32" identifier = (binary_expression "pcStack_19c + iVar32" identifier + identifier)) ;) (expression_statement "param_4 = *(code **)pcVar43;" (assignment_expression "param_4 = *(code **)pcVar43" identifier = (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (if_statement "if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_4 + 0xc) == 0)" ( (binary_expression "*(int *)(param_4 + 0xc) == 0" (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }" { (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" identifier = (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "uVar49 = 0;" (assignment_expression "uVar49 = 0" identifier = number_literal) ;) (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) (if_statement "if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;" if (parenthesized_expression "(param_1 != (code *)&DAT_00000031)" ( (binary_expression "param_1 != (code *)&DAT_00000031" identifier != (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4b90;" goto statement_identifier ;)) (labeled_statement "LAB_000c4cac:\n    uVar49 = uVar50;" statement_identifier : (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;)) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);" (assignment_expression "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1a50)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1a50" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,param_4)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(in_t1,iVar32);" (assignment_expression "uVar53 = CONCAT44(in_t1,iVar32)" identifier = (call_expression "CONCAT44(in_t1,iVar32)" identifier (argument_list "(in_t1,iVar32)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (iVar39 != 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" if (parenthesized_expression "((*(uint *)(param_4 + 4) & 0x800) == 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 0x800)" ( (binary_expression "*(uint *)(param_4 + 4) & 0x800" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }" { (if_statement "if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" if (parenthesized_expression "(*(int *)(param_4 + 0x14) == 0)" ( (binary_expression "*(int *)(param_4 + 0x14) == 0" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar50 = 0;\n      }" { (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" else (compound_statement "{\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" { (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2a54)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2a54" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) }) (else_clause "else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" else (compound_statement "{\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" { (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2958)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2958" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" * (cast_expression "(undefined8 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) }) (else_clause "else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" else (compound_statement "{\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" { (expression_statement "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();" (assignment_expression "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2d10)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2d10" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" identifier = (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "uVar50 = uVar49;" (assignment_expression "uVar50 = uVar49" identifier = identifier) ;) (if_statement "if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;" if (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" ( (binary_expression "param_1 == (code *)&DAT_00000031" identifier == (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4cac;" goto statement_identifier ;)) (labeled_statement "LAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);" statement_identifier : (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;)) (if_statement "if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" if (parenthesized_expression "(param_1 == (code *)0x32)" ( (binary_expression "param_1 == (code *)0x32" identifier == (cast_expression "(code *)0x32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }" { (expression_statement "*(undefined4 *)(pcVar43 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x20) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x20)" * (cast_expression "(undefined4 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x24) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x24)" * (cast_expression "(undefined4 *)(pcVar43 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" else (compound_statement "{\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" { (if_statement "if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" if (parenthesized_expression "(*(int *)(param_4 + 0x10) == 0)" ( (binary_expression "*(int *)(param_4 + 0x10) == 0" (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar50 = 0;\n      }" { (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" else (compound_statement "{\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" { (expression_statement "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" identifier = (call_expression "(*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" (parenthesized_expression "(*(code *)(iVar32 + -0x2d10))" ( (pointer_expression "*(code *)(iVar32 + -0x2d10)" * (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" * (cast_expression "(undefined8 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(pcVar38 + 0x1e8) = 0;" (assignment_expression "*(undefined4 *)(pcVar38 + 0x1e8) = 0" (pointer_expression "*(undefined4 *)(pcVar38 + 0x1e8)" * (cast_expression "(undefined4 *)(pcVar38 + 0x1e8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1e8)" ( (binary_expression "pcVar38 + 0x1e8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);" (assignment_expression "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,param_4)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,param_4)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" if (parenthesized_expression "(*(int *)(pcVar38 + 0x1e8) != 0)" ( (binary_expression "*(int *)(pcVar38 + 0x1e8) != 0" (pointer_expression "*(int *)(pcVar38 + 0x1e8)" * (cast_expression "(int *)(pcVar38 + 0x1e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1e8)" ( (binary_expression "pcVar38 + 0x1e8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" if (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) == 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" ( (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }" { (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" else (compound_statement "{\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" { (if_statement "if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "((int)*(uint *)(pcVar38 + 0x1ec) < 1)" ( (binary_expression "(int)*(uint *)(pcVar38 + 0x1ec) < 1" (cast_expression "(int)*(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" * (cast_expression "(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1ec)" ( (binary_expression "pcVar38 + 0x1ec" identifier + number_literal) ))))) < number_literal) )) (compound_statement "{\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" { (labeled_statement "LAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);" statement_identifier : (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1104)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1104" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32 + -0x6e04)" ( identifier , (binary_expression "iVar32 + -0x6e04" identifier + number_literal) ))) ;)) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (if_statement "if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" if (parenthesized_expression "((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0))" ( (binary_expression "(int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)" (cast_expression "(int)*(short *)(param_4 + 0x26)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_4 + 0x26)" * (cast_expression "(short *)(param_4 + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) == (pointer_expression "*(int *)(pcVar38 + 0x1f0)" * (cast_expression "(int *)(pcVar38 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1f0)" ( (binary_expression "pcVar38 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" else (compound_statement "{\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar46 = pcVar38 + 500;" (assignment_expression "pcVar46 = pcVar38 + 500" identifier = (binary_expression "pcVar38 + 500" identifier + number_literal)) ;) (do_statement "do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);" do (compound_statement "{\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar18 == *(uint *)(pcVar38 + 0x1ec))" ( (binary_expression "uVar18 == *(uint *)(pcVar38 + 0x1ec)" identifier == (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" * (cast_expression "(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1ec)" ( (binary_expression "pcVar38 + 0x1ec" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)pcVar46;" (assignment_expression "iVar32 = *(int *)pcVar46" identifier = (pointer_expression "*(int *)pcVar46" * (cast_expression "(int *)pcVar46" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar46 = pcVar46 + 4;" (assignment_expression "pcVar46 = pcVar46 + 4" identifier = (binary_expression "pcVar46 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(short *)(param_4 + 0x26) != iVar32)" ( (binary_expression "*(short *)(param_4 + 0x26) != iVar32" (pointer_expression "*(short *)(param_4 + 0x26)" * (cast_expression "(short *)(param_4 + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "uVar13 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar13 = 1 << (uVar18 & 0x1f)" identifier = (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" if (parenthesized_expression "((uVar18 & 0x20) == 0)" ( (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" ( (binary_expression "uVar18 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar18 = 0;\n      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" else (compound_statement "{\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" { (expression_statement "uVar18 = uVar13;" (assignment_expression "uVar18 = uVar13" identifier = identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) (expression_statement "uStack_194 = uVar13 - 1;" (assignment_expression "uStack_194 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);" (assignment_expression "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1)" identifier = (binary_expression "(uint)(uStack_194 < uVar13) + (uVar18 - 1)" (call_expression "(uint)(uStack_194 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_194 < uVar13)" ( (binary_expression "uStack_194 < uVar13" identifier < identifier) ))) + (parenthesized_expression "(uVar18 - 1)" ( (binary_expression "uVar18 - 1" identifier - number_literal) )))) ;) }))) (expression_statement "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;" (assignment_expression "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18" identifier = (binary_expression "(uint)((ulonglong)uVar50 >> 0x20) | uVar18" (call_expression "(uint)((ulonglong)uVar50 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) | identifier)) ;) (expression_statement "uVar21 = (uint)uVar50 | uVar13;" (assignment_expression "uVar21 = (uint)uVar50 | uVar13" identifier = (binary_expression "(uint)uVar50 | uVar13" (cast_expression "(uint)uVar50" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (expression_statement "uVar50 = CONCAT44(uVar34,uVar21);" (assignment_expression "uVar50 = CONCAT44(uVar34,uVar21)" identifier = (call_expression "CONCAT44(uVar34,uVar21)" identifier (argument_list "(uVar34,uVar21)" ( identifier , identifier )))) ;) (expression_statement "pcVar31 = (code *)(uVar34 << 0x1f);" (assignment_expression "pcVar31 = (code *)(uVar34 << 0x1f)" identifier = (cast_expression "(code *)(uVar34 << 0x1f)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar34 << 0x1f)" ( (binary_expression "uVar34 << 0x1f" identifier << number_literal) )))) ;) (if_statement "if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" if (parenthesized_expression "(uVar18 <= uVar34 >> 1)" ( (binary_expression "uVar18 <= uVar34 >> 1" identifier <= (binary_expression "uVar34 >> 1" identifier >> number_literal)) )) (compound_statement "{\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" { (if_statement "if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar18 != uVar34 >> 1)" ( (binary_expression "uVar18 != uVar34 >> 1" identifier != (binary_expression "uVar34 >> 1" identifier >> number_literal)) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) (if_statement "if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" if (parenthesized_expression "(uVar13 <= ((uint)pcVar31 | uVar21 >> 1))" ( (binary_expression "uVar13 <= ((uint)pcVar31 | uVar21 >> 1)" identifier <= (parenthesized_expression "((uint)pcVar31 | uVar21 >> 1)" ( (binary_expression "(uint)pcVar31 | uVar21 >> 1" (cast_expression "(uint)pcVar31" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar21 >> 1" identifier >> number_literal)) ))) )) (compound_statement "{\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c4c40;" goto statement_identifier ;) })) })) }))) (expression_statement "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar48 = (code *)uVar50;" (assignment_expression "pcVar48 = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" * (cast_expression "(undefined8 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" * (cast_expression "(undefined2 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" * (cast_expression "(undefined4 *)(pcVar43 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar46 = pcVar43;" (assignment_expression "pcVar46 = pcVar43" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (if_statement "if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" if (parenthesized_expression "((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)))" ( (binary_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" (parenthesized_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff))" ( (binary_expression "0xc < ((uint)(param_1 + -0x2d) & 0xff)" number_literal < (parenthesized_expression "((uint)(param_1 + -0x2d) & 0xff)" ( (binary_expression "(uint)(param_1 + -0x2d) & 0xff" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x2d)" ( (binary_expression "param_1 + -0x2d" identifier + number_literal) ))) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" ( (binary_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f))" ( (binary_expression "0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)" number_literal >> (parenthesized_expression "((uint)(param_1 + -0x2d) & 0x1f)" ( (binary_expression "(uint)(param_1 + -0x2d) & 0x1f" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x2d)" ( (binary_expression "param_1 + -0x2d" identifier + number_literal) ))) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" { (if_statement "if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" if (parenthesized_expression "(*param_4 == (code)0x30)" ( (binary_expression "*param_4 == (code)0x30" (pointer_expression "*param_4" * identifier) == (cast_expression "(code)0x30" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(pcVar22[8] != (code)0x2c)" ( (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar8 = 0x39;" (assignment_expression "uVar8 = 0x39" identifier = number_literal) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_4 + 0x14) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 4)" ( (binary_expression "*(int *)(param_4 + 0x14) + 4" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" { (expression_statement "param_5 = *(code **)(param_4 + 0xc);" (assignment_expression "param_5 = *(code **)(param_4 + 0xc)" identifier = (pointer_expression "*(code **)(param_4 + 0xc)" * (cast_expression "(code **)(param_4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" { (expression_statement "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);" (assignment_expression "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" ( (pointer_expression "*(code *)(iVar19 + -0x271c)" * (cast_expression "(code *)(iVar19 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x271c)" ( (binary_expression "iVar19 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,param_5,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) })) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (if_statement "if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" if (parenthesized_expression "(pcVar31 != (code *)0x0)" ( (binary_expression "pcVar31 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" { (expression_statement "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" ( (pointer_expression "*(code *)(iVar19 + -0x271c)" * (cast_expression "(code *)(iVar19 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x271c)" ( (binary_expression "iVar19 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcVar31,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);" (assignment_expression "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" identifier = (call_expression "(*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" (parenthesized_expression "(*(code *)(iVar29 + 0x26b4))" ( (pointer_expression "*(code *)(iVar29 + 0x26b4)" * (cast_expression "(code *)(iVar29 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26b4)" ( (binary_expression "iVar29 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,uVar8,param_5)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" { (expression_statement "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" * (cast_expression "(uint *)(iVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" * (cast_expression "(uint *)(iVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar10 + 0x26)" * (cast_expression "(undefined2 *)(iVar10 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x26)" ( (binary_expression "iVar10 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);" (assignment_expression "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,iVar10,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "puVar20 = puVar20 + 5;" (assignment_expression "puVar20 = puVar20 + 5" identifier = (binary_expression "puVar20 + 5" identifier + number_literal)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,puVar20);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,puVar20)" identifier = (call_expression "CONCAT44(pcStack_1a4,puVar20)" identifier (argument_list "(pcStack_1a4,puVar20)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);" (call_expression "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10)" (parenthesized_expression "(*(code *)(iVar32 + 0x4ac8))" ( (pointer_expression "*(code *)(iVar32 + 0x4ac8)" * (cast_expression "(code *)(iVar32 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x4ac8)" ( (binary_expression "iVar32 + 0x4ac8" identifier + number_literal) )))) )) (argument_list "(pcVar26,pcVar22,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar33 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar33 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10)" * (cast_expression "(code **)(iVar33 + iVar10 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar33 + iVar10 * 0x30 + 0x10)" ( (binary_expression "iVar33 + iVar10 * 0x30 + 0x10" (binary_expression "iVar33 + iVar10 * 0x30" identifier + (binary_expression "iVar10 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar10 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "uVar8 = 0x37;" (assignment_expression "uVar8 = 0x37" identifier = number_literal) ;) (if_statement "if (bVar45) break;" if (parenthesized_expression "(bVar45)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) })) (expression_statement "param_1 = (code *)0x1;" (assignment_expression "param_1 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)(iVar39 + -0x73f4);" (assignment_expression "pcVar38 = (code *)(iVar39 + -0x73f4)" identifier = (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "pcVar46 = pcStack_19c + iVar33;" (assignment_expression "pcVar46 = pcStack_19c + iVar33" identifier = (binary_expression "pcStack_19c + iVar33" identifier + identifier)) ;) (expression_statement "pcStack_190 = (code *)(iVar32 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar32 + 0x4ac8)" identifier = (cast_expression "(code *)(iVar32 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x4ac8)" ( (binary_expression "iVar32 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar37,iVar33);" (assignment_expression "uVar53 = CONCAT44(pcVar37,iVar33)" identifier = (call_expression "CONCAT44(pcVar37,iVar33)" identifier (argument_list "(pcVar37,iVar33)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" else (compound_statement "{\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" { (expression_statement "pcVar31 = (code *)0x1a0;" (assignment_expression "pcVar31 = (code *)0x1a0" identifier = (cast_expression "(code *)0x1a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" if (parenthesized_expression "(*param_4 == (code)0x2b)" ( (binary_expression "*param_4 == (code)0x2b" (pointer_expression "*param_4" * identifier) == (cast_expression "(code)0x2b" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" { (expression_statement "pcStack_1a4 = *(code **)pcVar22;" (assignment_expression "pcStack_1a4 = *(code **)pcVar22" identifier = (pointer_expression "*(code **)pcVar22" * (cast_expression "(code **)pcVar22" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puStack_180 = *(undefined4 **)pcStack_1a4;" (assignment_expression "puStack_180 = *(undefined4 **)pcStack_1a4" identifier = (pointer_expression "*(undefined4 **)pcStack_1a4" * (cast_expression "(undefined4 **)pcStack_1a4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "param_1 = (code *)*puStack_180;" (assignment_expression "param_1 = (code *)*puStack_180" identifier = (cast_expression "(code *)*puStack_180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_180" * identifier))) ;) (expression_statement "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "iStack_178 = *(int *)pcStack_18c;" (assignment_expression "iStack_178 = *(int *)pcStack_18c" identifier = (pointer_expression "*(int *)pcStack_18c" * (cast_expression "(int *)pcStack_18c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);" (assignment_expression "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2a40)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2a40" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "*(code **)(pcStack_18c + 0x1c) = pcVar43;" (assignment_expression "*(code **)(pcStack_18c + 0x1c) = pcVar43" (pointer_expression "*(code **)(pcStack_18c + 0x1c)" * (cast_expression "(code **)(pcStack_18c + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_18c + 0x1c)" ( (binary_expression "pcStack_18c + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" identifier = identifier) ;) (expression_statement "pcVar42 = pcStack_1a4;" (assignment_expression "pcVar42 = pcStack_1a4" identifier = identifier) ;) (if_statement "if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pcVar43 == (code *)0x0)" ( (binary_expression "pcVar43 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96eec)" * (cast_expression "(code **)(puVar47 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96eec)" ( (binary_expression "puVar47 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;" (assignment_expression "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" * (cast_expression "(ushort *)(pcStack_18c + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 10)" ( (binary_expression "pcStack_18c + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" * (cast_expression "(ushort *)(pcStack_18c + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 10)" ( (binary_expression "pcStack_18c + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);" (assignment_expression "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180)" identifier = (call_expression "(*pcVar42)(pcVar43 + 0x18,0,0x180)" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "(pcVar43 + 0x18,0,0x180)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "*(code **)pcVar43 = pcStack_1a4;" (assignment_expression "*(code **)pcVar43 = pcStack_1a4" (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "pcVar43[9] = (code)0x0;" (assignment_expression "pcVar43[9] = (code)0x0" (subscript_expression "pcVar43[9]" identifier [ number_literal ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "*(undefined4 *)(pcVar43 + 4) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 4) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 4)" * (cast_expression "(undefined4 *)(pcVar43 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 4)" ( (binary_expression "pcVar43 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0xc)" * (cast_expression "(undefined4 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uVar8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uVar8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcStack_174 = (code *)(iVar32 + -0x70f0);" (assignment_expression "pcStack_174 = (code *)(iVar32 + -0x70f0)" identifier = (cast_expression "(code *)(iVar32 + -0x70f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x70f0)" ( (binary_expression "iVar32 + -0x70f0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" * (cast_expression "(undefined4 *)(pcVar43 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcStack_174)(pcVar43,iStack_178,0x2b);" (call_expression "(*pcStack_174)(pcVar43,iStack_178,0x2b)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pcVar43,iStack_178,0x2b)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);" (assignment_expression "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1)" identifier = (cast_expression "(code *)(*(int *)(pcVar43 + 0xc) + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0xc) + -1)" ( (binary_expression "*(int *)(pcVar43 + 0xc) + -1" (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" if (parenthesized_expression "((int)pcVar42 < 0)" ( (binary_expression "(int)pcVar42 < 0" (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }" { (expression_statement "pcVar38 = pcStack_18c;" (assignment_expression "pcVar38 = pcStack_18c" identifier = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) }) (else_clause "else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" else (compound_statement "{\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" { (expression_statement "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar50 = CONCAT44(param_5,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_5,pcStack_18c)" identifier = (call_expression "CONCAT44(param_5,pcStack_18c)" identifier (argument_list "(param_5,pcStack_18c)" ( identifier , identifier )))) ;) (do_statement "do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);" do (compound_statement "{\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          }" { (expression_statement "pcVar27 = pcVar42 + -1;" (assignment_expression "pcVar27 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar43,pcVar42);" (call_expression "FUN_000c4ac8(pcVar26,pcVar43,pcVar42)" identifier (argument_list "(pcVar26,pcVar43,pcVar42)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar27 != (code *)0xffffffff)" ( (binary_expression "pcVar27 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_190 = param_5;" (assignment_expression "pcStack_190 = param_5" identifier = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "in_t2 = *(code **)(pcVar43 + 0xc);" (assignment_expression "in_t2 = *(code **)(pcVar43 + 0xc)" identifier = (pointer_expression "*(code **)(pcVar43 + 0xc)" * (cast_expression "(code **)(pcVar43 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = in_t2 + -1;" (assignment_expression "pcVar42 = in_t2 + -1" identifier = (binary_expression "in_t2 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = *(code **)(pcVar43 + 0x14);" (assignment_expression "pcVar46 = *(code **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x14)" * (cast_expression "(code **)(pcVar43 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" if (parenthesized_expression "(-1 < (int)pcVar42)" ( (binary_expression "-1 < (int)pcVar42" number_literal < (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" { (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcStack_188 = (code *)0xffffffff;" (assignment_expression "pcStack_188 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_184 = (code *)0xffffffff;" (assignment_expression "pcStack_184 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2b10)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2b10" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) })) }))) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" identifier = identifier) ;) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" identifier = identifier) ;) (if_statement "if (iVar32 != 2) goto LAB_000c5b7c;" if (parenthesized_expression "(iVar32 != 2)" ( (binary_expression "iVar32 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000c5b7c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6e58;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) })) (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" identifier = (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" { (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" identifier = (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }" { (expression_statement "iVar32 = *(int *)(iVar32 + 0xc);" (assignment_expression "iVar32 = *(int *)(iVar32 + 0xc)" identifier = (pointer_expression "*(int *)(iVar32 + 0xc)" * (cast_expression "(int *)(iVar32 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0xc)" ( (binary_expression "iVar32 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" else (compound_statement "{\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" { (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + 4)" * (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar32 + 0x14) + 4)" ( (binary_expression "*(int *)(iVar32 + 0x14) + 4" (pointer_expression "*(int *)(iVar32 + 0x14)" * (cast_expression "(int *)(iVar32 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (iVar32 == 0) break;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" identifier = (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "param_5 = *(code **)(param_4 + 0x10);" (assignment_expression "param_5 = *(code **)(param_4 + 0x10)" identifier = (pointer_expression "*(code **)(param_4 + 0x10)" * (cast_expression "(code **)(param_4 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" { (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" identifier = (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_5 = *(code **)(param_5 + 0xc);\n      }" { (expression_statement "param_5 = *(code **)(param_5 + 0xc);" (assignment_expression "param_5 = *(code **)(param_5 + 0xc)" identifier = (pointer_expression "*(code **)(param_5 + 0xc)" * (cast_expression "(code **)(param_5 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" else (compound_statement "{\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" { (expression_statement "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);" (assignment_expression "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4)" identifier = (pointer_expression "*(code **)(*(int *)(param_5 + 0x14) + 4)" * (cast_expression "(code **)(*(int *)(param_5 + 0x14) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_5 + 0x14) + 4)" ( (binary_expression "*(int *)(param_5 + 0x14) + 4" (pointer_expression "*(int *)(param_5 + 0x14)" * (cast_expression "(int *)(param_5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x14)" ( (binary_expression "param_5 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (param_5 == (code *)0x0) break;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" identifier = (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "uVar23 = 0x1fff;" (assignment_expression "uVar23 = 0x1fff" identifier = number_literal) ;) (if_statement "if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }" if (parenthesized_expression "((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0)" ( (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4)" ( (binary_expression "*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" * (cast_expression "(uint *)(pcVar43 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) & (cast_expression "(uint)pcStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) || (binary_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42)" ( (binary_expression "*(uint *)(pcVar43 + 0x24) & (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" * (cast_expression "(uint *)(pcVar43 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) & (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal)) )) (compound_statement "{\n    uVar23 = 0x800;\n  }" { (expression_statement "uVar23 = 0x800;" (assignment_expression "uVar23 = 0x800" identifier = number_literal) ;) })) (if_statement "if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" if (parenthesized_expression "(0 < *(int *)(pcVar43 + 0x18))" ( (binary_expression "0 < *(int *)(pcVar43 + 0x18)" number_literal < (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" { (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" * (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" ( (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4" (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14" (pointer_expression "*(int *)(iVar32 + 0x14)" * (cast_expression "(int *)(iVar32 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) + (binary_expression "(*(int *)(pcVar43 + 0x18) + -1) * 0x14" (parenthesized_expression "(*(int *)(pcVar43 + 0x18) + -1)" ( (binary_expression "*(int *)(pcVar43 + 0x18) + -1" (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) )))) + number_literal) )) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c4c);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c4c)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = pcVar42;" (assignment_expression "pcVar31 = pcVar42" identifier = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" identifier = (call_expression "(*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" ( (pointer_expression "*(code *)(iVar39 + -0x28cc)" * (cast_expression "(code *)(iVar39 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x28cc)" ( (binary_expression "iVar39 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" ( identifier , number_literal , identifier , identifier , (pointer_expression "&uStack_160" & identifier) , identifier , identifier )))) ;) (if_statement "if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" { (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x1c)" ( (binary_expression "pcVar43 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" if (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" ( (binary_expression "param_1 == (code *)&DAT_00000031" identifier == (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (compound_statement "{\n      uVar14 = 1;\n    }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" else (compound_statement "{\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" { (expression_statement "uVar14 = 0x100;" (assignment_expression "uVar14 = 0x100" identifier = number_literal) ;) (if_statement "if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" if (parenthesized_expression "(param_1 != (code *)0x32)" ( (binary_expression "param_1 != (code *)0x32" identifier != (cast_expression "(code *)0x32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" { (if_statement "if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar14 = 0x80;\n        }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" else (compound_statement "{\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" { (expression_statement "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));" (assignment_expression "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" identifier = (call_expression "(ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(2 << ((uint)(param_1 + -0x35) & 0x1f))" ( (binary_expression "2 << ((uint)(param_1 + -0x35) & 0x1f)" number_literal << (parenthesized_expression "((uint)(param_1 + -0x35) & 0x1f)" ( (binary_expression "(uint)(param_1 + -0x35) & 0x1f" (call_expression "(uint)(param_1 + -0x35)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x35)" ( (binary_expression "param_1 + -0x35" identifier + number_literal) ))) & number_literal) ))) )))) ;) }))) })) }))) (expression_statement "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" * (cast_expression "(ushort *)(pcVar43 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar23 & uVar14" identifier & identifier)) ;) })) (if_statement "if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "pcVar38 = (code *)&uStack_160;" (assignment_expression "pcVar38 = (code *)&uStack_160" identifier = (cast_expression "(code *)&uStack_160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_160" & identifier))) ;) (expression_statement "pcStack_190 = pcVar37;" (assignment_expression "pcStack_190 = pcVar37" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar48;" (assignment_expression "pcStack_18c = pcVar48" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4d78;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(pcVar43 + 0x24);" (assignment_expression "pcVar31 = *(code **)(pcVar43 + 0x24)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x24)" * (cast_expression "(code **)(pcVar43 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pcVar54 = (code *)&uStack_160;" (assignment_expression "pcVar54 = (code *)&uStack_160" identifier = (cast_expression "(code *)&uStack_160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_160" & identifier))) ;) (expression_statement "pcVar55 = param_5;" (assignment_expression "pcVar55 = param_5" identifier = identifier) ;) (expression_statement "pcVar56 = param_1;" (assignment_expression "pcVar56 = param_1" identifier = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26)" identifier = (call_expression "(*(code *)(iVar39 + -0x28cc))(pcVar26)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" ( (pointer_expression "*(code *)(iVar39 + -0x28cc)" * (cast_expression "(code *)(iVar39 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x28cc)" ( (binary_expression "iVar39 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pcVar26)" ( identifier )))) ;) (if_statement "if (iVar32 == 0) goto LAB_000c4d78;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "(*(int *)(pcVar43 + 0x14) < 0)" ( (binary_expression "*(int *)(pcVar43 + 0x14) < 0" (pointer_expression "*(int *)(pcVar43 + 0x14)" * (cast_expression "(int *)(pcVar43 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }" { (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" identifier = (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = param_4;" (assignment_expression "param_5 = param_4" identifier = identifier) ;) }) (else_clause "else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" else (compound_statement "{\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier ))))) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (if_statement "if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" ( (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" { (expression_statement "pcVar38 = pcVar6;" (assignment_expression "pcVar38 = pcVar6" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4c58;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7bc4" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar32 = (*pcVar38)(pcVar22,param_5,3);" (assignment_expression "iVar32 = (*pcVar38)(pcVar22,param_5,3)" identifier = (call_expression "(*pcVar38)(pcVar22,param_5,3)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(pcVar22,param_5,3)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar32 == 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) (expression_statement "*(code **)(pcVar43 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + 0x10)" * (cast_expression "(code **)(pcVar43 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (if_statement "if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;" (assignment_expression "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" identifier = (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" * (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" ( (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" if (parenthesized_expression "((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0)" ( (binary_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0" (parenthesized_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80)" ( (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" * (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" ( (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" if (parenthesized_expression "(((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0))" ( (binary_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)" (parenthesized_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d))" ( (binary_expression "(*param_5 == (code)0x35) || (*param_5 == (code)0x2d)" (parenthesized_expression "(*param_5 == (code)0x35)" ( (binary_expression "*param_5 == (code)0x35" (pointer_expression "*param_5" * identifier) == (cast_expression "(code)0x35" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(*param_5 == (code)0x2d)" ( (binary_expression "*param_5 == (code)0x2d" (pointer_expression "*param_5" * identifier) == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) && (parenthesized_expression "((*(uint *)(param_5 + 4) & 1) == 0)" ( (binary_expression "(*(uint *)(param_5 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_5 + 4) & 1)" ( (binary_expression "*(uint *)(param_5 + 4) & 1" (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" { (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar39 = (*pcVar27)(iVar32);" (assignment_expression "iVar39 = (*pcVar27)(iVar32)" identifier = (call_expression "(*pcVar27)(iVar32)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10))" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(param_5 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" identifier = identifier) ;) (if_statement "if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" if (parenthesized_expression "(iVar39 == iVar29)" ( (binary_expression "iVar39 == iVar29" identifier == identifier) )) (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n        }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" else (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcVar27,pcVar37);" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" identifier = (call_expression "CONCAT44(pcVar27,pcVar37)" identifier (argument_list "(pcVar27,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;" if (parenthesized_expression "((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))" ( (binary_expression "(iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" (parenthesized_expression "(iVar39 < 0x43)" ( (binary_expression "iVar39 < 0x43" identifier < number_literal) )) || (parenthesized_expression "(uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" ( (comma_expression "uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" identifier = (call_expression "CONCAT44(pcVar27,pcVar37)" identifier (argument_list "(pcVar27,pcVar37)" ( identifier , identifier )))) , (binary_expression "iVar29 < 0x43" identifier < number_literal)) ))) )) (goto_statement "goto LAB_000c5710;" goto statement_identifier ;)) }))) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x7808)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x7808" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }" { (labeled_statement "LAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);" statement_identifier : (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c5968:\n          uVar13 = 0x800;" statement_identifier : (expression_statement "uVar13 = 0x800;" (assignment_expression "uVar13 = 0x800" identifier = number_literal) ;)) (expression_statement "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;" (assignment_expression "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar14 | 0x800" identifier | number_literal)) ;) }) (else_clause "else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" else (compound_statement "{\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" { (if_statement "if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" if (parenthesized_expression "((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0))" ( (binary_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)" (parenthesized_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0)" ( (binary_expression "*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(iVar32 + 0xc)" * (cast_expression "(int *)(iVar32 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0xc)" ( (binary_expression "iVar32 + 0xc" identifier + number_literal) )))) == (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "(*(int *)(iVar32 + 8) == 0)" ( (binary_expression "*(int *)(iVar32 + 8) == 0" (pointer_expression "*(int *)(iVar32 + 8)" * (cast_expression "(int *)(iVar32 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 8)" ( (binary_expression "iVar32 + 8" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" { (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c5968;" goto statement_identifier ;) })) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x7c14" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" ( identifier , (pointer_expression "*(undefined4 *)(param_5 + 0xc)" * (cast_expression "(undefined4 *)(param_5 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar32 != 0) goto LAB_000c5964;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c5964;" goto statement_identifier ;)) }))) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) })) }) (else_clause "else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" else (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);" statement_identifier : (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "uVar18 = *(uint *)(iVar39 + 4) & 0x100;" (assignment_expression "uVar18 = *(uint *)(iVar39 + 4) & 0x100" identifier = (binary_expression "*(uint *)(iVar39 + 4) & 0x100" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" if (parenthesized_expression "(uVar18 == (*(uint *)(iVar32 + 4) & 0x100))" ( (binary_expression "uVar18 == (*(uint *)(iVar32 + 4) & 0x100)" identifier == (parenthesized_expression "(*(uint *)(iVar32 + 4) & 0x100)" ( (binary_expression "*(uint *)(iVar32 + 4) & 0x100" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) & number_literal) ))) )) (compound_statement "{\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" { (if_statement "if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x75dc)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x75dc" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17)" ( identifier )))) ;) (if_statement "if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" { (expression_statement "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;" (assignment_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" * (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" ( (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" * (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" ( (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) }) (else_clause "else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" else (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" { (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }))) })) (expression_statement "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcStack_18c = (code *)uVar49;" (assignment_expression "pcStack_18c = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int *)(param_5 + 0xc) = iVar39;" (assignment_expression "*(int *)(param_5 + 0xc) = iVar39" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_5 + 0x10) = iVar32;" (assignment_expression "*(int *)(param_5 + 0x10) = iVar32" (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" if (parenthesized_expression "(0x35 < (byte)*param_5)" ( (binary_expression "0x35 < (byte)*param_5" number_literal < (binary_expression "(byte)*param_5" (parenthesized_expression "(byte)" ( identifier )) * identifier)) )) (compound_statement "{\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" { (expression_statement "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);" (assignment_expression "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (pointer_expression "*param_5" * identifier) = (call_expression "(code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(((char)*param_5 - 0x36U ^ 2) + 0x36)" ( (binary_expression "((char)*param_5 - 0x36U ^ 2) + 0x36" (parenthesized_expression "((char)*param_5 - 0x36U ^ 2)" ( (binary_expression "(char)*param_5 - 0x36U ^ 2" (binary_expression "(char)*param_5 - 0x36U" (cast_expression "(char)*param_5" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_5" * identifier)) - number_literal) ^ number_literal) )) + number_literal) )))) ;) })) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" * (cast_expression "(undefined8 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;" (assignment_expression "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" * (cast_expression "(uint *)(pcVar43 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = (binary_expression "uStack_198 | (uint)pcStack_1a4" identifier | (cast_expression "(uint)pcStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" identifier (argument_list "(pcStack_1a4,uStack_194 | (uint)pcVar42)" ( identifier , (binary_expression "uStack_194 | (uint)pcVar42" identifier | (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;" (assignment_expression "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" * (cast_expression "(uint *)(pcVar43 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) = (binary_expression "uStack_194 | (uint)pcVar42" identifier | (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x1c)" ( (binary_expression "pcVar43 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = (uint)(byte)*param_5;" (assignment_expression "uVar18 = (uint)(byte)*param_5" identifier = (binary_expression "(uint)(byte)*param_5" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x31)" ( (binary_expression "uVar18 == 0x31" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 1;\n  }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) }) (else_clause "else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x32)" ( (binary_expression "uVar18 == 0x32" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 0x100;\n  }" { (expression_statement "uVar18 = 0x100;" (assignment_expression "uVar18 = 0x100" identifier = number_literal) ;) }) (else_clause "else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x2d)" ( (binary_expression "uVar18 == 0x2d" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 0x80;\n  }" { (expression_statement "uVar18 = 0x80;" (assignment_expression "uVar18 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (compound_statement "{\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" { (expression_statement "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;" (assignment_expression "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff" identifier = (binary_expression "2 << (uVar18 - 0x35 & 0x1f) & 0xffff" (binary_expression "2 << (uVar18 - 0x35 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 - 0x35 & 0x1f)" ( (binary_expression "uVar18 - 0x35 & 0x1f" (binary_expression "uVar18 - 0x35" identifier - number_literal) & number_literal) ))) & number_literal)) ;) }))))))) (expression_statement "param_1 = (code *)(uVar13 + uVar18);" (assignment_expression "param_1 = (code *)(uVar13 + uVar18)" identifier = (cast_expression "(code *)(uVar13 + uVar18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar18)" ( (binary_expression "uVar13 + uVar18" identifier + identifier) )))) ;) (expression_statement "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" * (cast_expression "(ushort *)(pcVar43 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = (binary_expression "(ushort)param_1 & uVar23" (cast_expression "(ushort)param_1" ( (type_descriptor "ushort" type_identifier) ) identifier) & identifier)) ;) (expression_statement "pcVar38 = pcVar43;" (assignment_expression "pcVar38 = pcVar43" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (labeled_statement "LAB_000c4d78:\n  pcVar43 = pcVar46;" statement_identifier : (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" identifier = identifier) ;)) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcVar22[8] == (code)0x2c)" ( (binary_expression "pcVar22[8] == (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) == (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" if (parenthesized_expression "(uVar13 == 0x9d)" ( (binary_expression "uVar13 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" { (expression_statement "pcVar31 = (code *)0x1;" (assignment_expression "pcVar31 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" if (parenthesized_expression "(*(int **)(param_4 + 0x14) != (int *)0x0)" ( (binary_expression "*(int **)(param_4 + 0x14) != (int *)0x0" (pointer_expression "*(int **)(param_4 + 0x14)" * (cast_expression "(int **)(param_4 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" { (expression_statement "iVar39 = **(int **)(param_4 + 0x14);" (assignment_expression "iVar39 = **(int **)(param_4 + 0x14)" identifier = (pointer_expression "**(int **)(param_4 + 0x14)" * (pointer_expression "*(int **)(param_4 + 0x14)" * (cast_expression "(int **)(param_4 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "pcVar38 = *(code **)pcVar17;" (assignment_expression "pcVar38 = *(code **)pcVar17" identifier = (pointer_expression "*(code **)pcVar17" * (cast_expression "(code **)pcVar17" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + 0x9b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + 0x9b4" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" ( identifier , (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "pcVar42 = (code *)uVar53;" (assignment_expression "pcVar42 = (code *)uVar53" identifier = (cast_expression "(code *)uVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }" { (labeled_statement "LAB_000c55a8:\n          cVar15 = pcVar22[8];" statement_identifier : (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;)) (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" identifier = identifier) ;) }) (else_clause "else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" else (compound_statement "{\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" { (expression_statement "pcStack_190 = *(code **)(iVar32 + 4);" (assignment_expression "pcStack_190 = *(code **)(iVar32 + 4)" identifier = (pointer_expression "*(code **)(iVar32 + 4)" * (cast_expression "(code **)(iVar32 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;" if (parenthesized_expression "(((uint)pcStack_190 & 4) == 0)" ( (binary_expression "((uint)pcStack_190 & 4) == 0" (parenthesized_expression "((uint)pcStack_190 & 4)" ( (binary_expression "(uint)pcStack_190 & 4" (cast_expression "(uint)pcStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;)) (expression_statement "iVar29 = *(int *)(param_4 + 0x14);" (assignment_expression "iVar29 = *(int *)(param_4 + 0x14)" identifier = (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" if (parenthesized_expression "(2 < iVar39)" ( (binary_expression "2 < iVar39" number_literal < identifier) )) (compound_statement "{\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" { (if_statement "if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" if (parenthesized_expression "(**(char **)(iVar29 + 0x2c) == 'j')" ( (binary_expression "**(char **)(iVar29 + 0x2c) == 'j'" (pointer_expression "**(char **)(iVar29 + 0x2c)" * (pointer_expression "*(char **)(iVar29 + 0x2c)" * (cast_expression "(char **)(iVar29 + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) ))))) == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" { (expression_statement "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);" (assignment_expression "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8)" identifier = (pointer_expression "*(byte **)(*(char **)(iVar29 + 0x2c) + 8)" * (cast_expression "(byte **)(*(char **)(iVar29 + 0x2c) + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(iVar29 + 0x2c) + 8)" ( (binary_expression "*(char **)(iVar29 + 0x2c) + 8" (pointer_expression "*(char **)(iVar29 + 0x2c)" * (cast_expression "(char **)(iVar29 + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (if_statement "if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;" if (parenthesized_expression "((bVar2 != 0) && (pbVar7[1] == 0))" ( (binary_expression "(bVar2 != 0) && (pbVar7[1] == 0)" (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar7[1] == 0)" ( (binary_expression "pbVar7[1] == 0" (subscript_expression "pbVar7[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_000c50e4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) (expression_statement "bStack_155 = 0;" (assignment_expression "bStack_155 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = bStack_155;" (assignment_expression "bVar2 = bStack_155" identifier = identifier) ;) (labeled_statement "LAB_000c50e4:\n          bStack_155 = bVar2;" statement_identifier : (expression_statement "bStack_155 = bVar2;" (assignment_expression "bStack_155 = bVar2" identifier = identifier) ;)) (expression_statement "pbVar7 = *(byte **)(iVar32 + 8);" (assignment_expression "pbVar7 = *(byte **)(iVar32 + 8)" identifier = (pointer_expression "*(byte **)(iVar32 + 8)" * (cast_expression "(byte **)(iVar32 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 8)" ( (binary_expression "iVar32 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar40 = *(char **)(iVar29 + 4);" (assignment_expression "pcVar40 = *(char **)(iVar29 + 4)" identifier = (pointer_expression "*(char **)(iVar29 + 4)" * (cast_expression "(char **)(iVar29 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) ))))) ;) (expression_statement "bStack_158 = *pbVar7;" (assignment_expression "bStack_158 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "bStack_157 = pbVar7[1];" (assignment_expression "bStack_157 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "bStack_156 = pbVar7[2];" (assignment_expression "bStack_156 = pbVar7[2]" identifier = (subscript_expression "pbVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" if (parenthesized_expression "(pcVar40 == (char *)0x0)" ( (binary_expression "pcVar40 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" { (labeled_statement "LAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" identifier = (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }" { (expression_statement "pcVar40 = *(char **)(pcVar40 + 0xc);" (assignment_expression "pcVar40 = *(char **)(pcVar40 + 0xc)" identifier = (pointer_expression "*(char **)(pcVar40 + 0xc)" * (cast_expression "(char **)(pcVar40 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0xc)" ( (binary_expression "pcVar40 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" else (compound_statement "{\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" { (expression_statement "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);" (assignment_expression "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(pcVar40 + 0x14) + 4)" * (cast_expression "(char **)(*(int *)(pcVar40 + 0x14) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar40 + 0x14) + 4)" ( (binary_expression "*(int *)(pcVar40 + 0x14) + 4" (pointer_expression "*(int *)(pcVar40 + 0x14)" * (cast_expression "(int *)(pcVar40 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (pcVar40 == (char *)0x0) goto LAB_000c5154;" if (parenthesized_expression "(pcVar40 == (char *)0x0)" ( (binary_expression "pcVar40 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5154;" goto statement_identifier ;)) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" identifier = (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) ))))) ;) })) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (expression_statement "pcVar35 = *(char **)(iVar29 + 0x18);" (assignment_expression "pcVar35 = *(char **)(iVar29 + 0x18)" identifier = (pointer_expression "*(char **)(iVar29 + 0x18)" * (cast_expression "(char **)(iVar29 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (compound_statement "{\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }" { (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" if (parenthesized_expression "(-1 < *(int *)(pcVar38 + 0x24) << 8)" ( (binary_expression "-1 < *(int *)(pcVar38 + 0x24) << 8" number_literal < (binary_expression "*(int *)(pcVar38 + 0x24) << 8" (pointer_expression "*(int *)(pcVar38 + 0x24)" * (cast_expression "(int *)(pcVar38 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x24)" ( (binary_expression "pcVar38 + 0x24" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" { (expression_statement "iVar32 = *(int *)(pcVar40 + 0x20);" (assignment_expression "iVar32 = *(int *)(pcVar40 + 0x20)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32)" identifier = (call_expression "CONCAT44(pcVar35,iVar32)" identifier (argument_list "(pcVar35,iVar32)" ( identifier , identifier )))) ;) (expression_statement "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);" (assignment_expression "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + 0x6c04)" ( (binary_expression "*(int *)(puVar47 + 0x96c48) + 0x6c04" (pointer_expression "*(int *)(puVar47 + 0x96c48)" * (cast_expression "(int *)(puVar47 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c48)" ( (binary_expression "puVar47 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(pcVar17 + 0xd8),iVar32)" ( (pointer_expression "*(undefined4 *)(pcVar17 + 0xd8)" * (cast_expression "(undefined4 *)(pcVar17 + 0xd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0xd8)" ( (binary_expression "pcVar17 + 0xd8" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" { (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" identifier = (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" else (compound_statement "{\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" { (expression_statement "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);" (assignment_expression "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1)" identifier = (call_expression "(**(code **)(puVar47 + 0x96b30))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b30))" ( (pointer_expression "**(code **)(puVar47 + 0x96b30)" * (pointer_expression "*(code **)(puVar47 + 0x96b30)" * (cast_expression "(code **)(puVar47 + 0x96b30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96b30)" ( (binary_expression "puVar47 + 0x96b30" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" if (parenthesized_expression "(iVar39 == 3)" ( (binary_expression "iVar39 == 3" identifier == number_literal) )) (compound_statement "{\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" { (expression_statement "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);" (assignment_expression "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" identifier = (cast_expression "(byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar47 + 0x96b4c))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b4c))" ( (pointer_expression "**(code **)(puVar47 + 0x96b4c)" * (pointer_expression "*(code **)(puVar47 + 0x96b4c)" * (cast_expression "(code **)(puVar47 + 0x96b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96b4c)" ( (binary_expression "puVar47 + 0x96b4c" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" if (parenthesized_expression "(iVar32 < 0x20)" ( (binary_expression "iVar32 < 0x20" identifier < number_literal) )) (compound_statement "{\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }" { (expression_statement "uVar13 = 1 << (iVar32 - 1U & 0x1f);" (assignment_expression "uVar13 = 1 << (iVar32 - 1U & 0x1f)" identifier = (binary_expression "1 << (iVar32 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar32 - 1U & 0x1f)" ( (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" identifier - number_literal) & number_literal) )))) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,uVar13);" (assignment_expression "uVar49 = CONCAT44(pcVar35,uVar13)" identifier = (call_expression "CONCAT44(pcVar35,uVar13)" identifier (argument_list "(pcVar35,uVar13)" ( identifier , identifier )))) ;) (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) | identifier)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }) (else_clause "else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" else (compound_statement "{\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }))) (goto_statement "goto LAB_000c517c;" goto statement_identifier ;) })) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" identifier = (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" if (parenthesized_expression "(iVar32 < 0x20)" ( (binary_expression "iVar32 < 0x20" identifier < number_literal) )) (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "1 << (iVar32 - 1U & 0x1f) | uVar13" (binary_expression "1 << (iVar32 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar32 - 1U & 0x1f)" ( (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" identifier - number_literal) & number_literal) ))) | identifier)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32 - 1U);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32 - 1U)" identifier = (call_expression "CONCAT44(pcVar35,iVar32 - 1U)" identifier (argument_list "(pcVar35,iVar32 - 1U)" ( identifier , (binary_expression "iVar32 - 1U" identifier - number_literal) )))) ;) }) (else_clause "else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" else (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "uVar13 | 0x80000000" identifier | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }))) })) }) (else_clause "else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(cVar16 == 'j')" ( (binary_expression "cVar16 == 'j'" identifier == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" { (expression_statement "pbVar7 = *(byte **)(pcVar40 + 8);" (assignment_expression "pbVar7 = *(byte **)(pcVar40 + 8)" identifier = (pointer_expression "*(byte **)(pcVar40 + 8)" * (cast_expression "(byte **)(pcVar40 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" statement_identifier : (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "iVar32 = (int)uVar49;" (assignment_expression "iVar32 = (int)uVar49" identifier = (cast_expression "(int)uVar49" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" if (parenthesized_expression "(pbVar7 != (byte *)0x0)" ( (binary_expression "pbVar7 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" { (expression_statement "in_t4 = (code *)(uint)*pbVar7;" (assignment_expression "in_t4 = (code *)(uint)*pbVar7" identifier = (binary_expression "(code *)(uint)*pbVar7" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "in_t2 = (code *)(uint)bStack_157;" (assignment_expression "in_t2 = (code *)(uint)bStack_157" identifier = (cast_expression "(code *)(uint)bStack_157" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_157" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "in_t3 = (code *)(uint)bStack_156;" (assignment_expression "in_t3 = (code *)(uint)bStack_156" identifier = (cast_expression "(code *)(uint)bStack_156" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_156" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar48 = (code *)(uint)bStack_155;" (assignment_expression "pcVar48 = (code *)(uint)bStack_155" identifier = (cast_expression "(code *)(uint)bStack_155" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_155" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar27 = in_t4;" (assignment_expression "pcVar27 = in_t4" identifier = identifier) ;) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) (while_statement "while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" while (parenthesized_expression "((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)))" ( (parenthesized_expression "(((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))" ( (binary_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)" (parenthesized_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27))" ( (binary_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)" (parenthesized_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27))" ( (comma_expression "iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "iVar29 = iVar39" identifier = identifier) , (comma_expression "pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) , (binary_expression "pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((code *)(uint)bStack_158 != pcVar27)" ( (binary_expression "(code *)(uint)bStack_158 != pcVar27" (cast_expression "(code *)(uint)bStack_158" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) ))))) )) && (parenthesized_expression "(in_t2 != pcVar27)" ( (binary_expression "in_t2 != pcVar27" identifier != identifier) ))) )) && (parenthesized_expression "(iVar32 = iVar29 + 1, in_t3 != pcVar27)" ( (comma_expression "iVar32 = iVar29 + 1, in_t3 != pcVar27" (assignment_expression "iVar32 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) , (binary_expression "in_t3 != pcVar27" identifier != identifier)) ))) )) )) (compound_statement "{\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" { (expression_statement "pcVar31 = (code *)(pbVar7 + iVar32);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar32)" identifier = (cast_expression "(code *)(pbVar7 + iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + iVar32)" ( (binary_expression "pbVar7 + iVar32" identifier + identifier) )))) ;) (expression_statement "bVar45 = pcVar48 == pcVar27;" (assignment_expression "bVar45 = pcVar48 == pcVar27" identifier = (binary_expression "pcVar48 == pcVar27" identifier == identifier)) ;) (expression_statement "pcVar27 = (code *)(uint)(byte)*pcVar31;" (assignment_expression "pcVar27 = (code *)(uint)(byte)*pcVar31" identifier = (binary_expression "(code *)(uint)(byte)*pcVar31" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" identifier = identifier) ;) (if_statement "if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" if (parenthesized_expression "(bVar45)" ( identifier )) (compound_statement "{\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" { (if_statement "if (pcVar27 == (code *)0x0) goto LAB_000c51d0;" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c51d0;" goto statement_identifier ;)) (expression_statement "iVar32 = iVar29 + 2;" (assignment_expression "iVar32 = iVar29 + 2" identifier = (binary_expression "iVar29 + 2" identifier + number_literal)) ;) (expression_statement "pcVar27 = (code *)(uint)pbVar7[iVar32];" (assignment_expression "pcVar27 = (code *)(uint)pbVar7[iVar32]" identifier = (cast_expression "(code *)(uint)pbVar7[iVar32]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar7[iVar32]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[iVar32]" identifier [ identifier ])))) ;) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" identifier = identifier) ;) })) })) (expression_statement "pcVar31 = (code *)(pbVar7 + iVar29);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar29)" identifier = (cast_expression "(code *)(pbVar7 + iVar29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + iVar29)" ( (binary_expression "pbVar7 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar39 = iVar29;" (assignment_expression "iVar39 = iVar29" identifier = identifier) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" { (labeled_statement "LAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);" statement_identifier : (expression_statement "uVar50 = CONCAT44(pcVar35,iVar39);" (assignment_expression "uVar50 = CONCAT44(pcVar35,iVar39)" identifier = (call_expression "CONCAT44(pcVar35,iVar39)" identifier (argument_list "(pcVar35,iVar39)" ( identifier , identifier )))) ;)) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar39);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar39)" identifier (argument_list "(pcStack_1a4,iVar39)" ( identifier , identifier )))) ;) (if_statement "if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" if (parenthesized_expression "((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))))" ( (binary_expression "(pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" (parenthesized_expression "(pcVar31[-1] != (code)0xff)" ( (binary_expression "pcVar31[-1] != (code)0xff" (subscript_expression "pcVar31[-1]" identifier [ number_literal ]) != (cast_expression "(code)0xff" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" ( (parenthesized_expression "(iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))" ( (binary_expression "iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" (binary_expression "iVar39 != 1" identifier != number_literal) || (parenthesized_expression "(uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" ( (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar39)" identifier (argument_list "(pcStack_1a4,iVar39)" ( identifier , identifier )))) , (binary_expression "pcVar48 != in_t4" identifier != identifier)) ))) )) ))) )) (compound_statement "{\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" { (if_statement "if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }" if (parenthesized_expression "((code *)(uint)bStack_158 == pcVar27)" ( (binary_expression "(code *)(uint)bStack_158 == pcVar27" (cast_expression "(code *)(uint)bStack_158" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) == identifier) )) (compound_statement "{\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }" { (expression_statement "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);" (assignment_expression "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0)" identifier = (cast_expression "(code *)(uint)(pcVar31[1] == (code)0x0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar31[1] == (code)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar31[1] == (code)0x0)" ( (binary_expression "pcVar31[1] == (code)0x0" (subscript_expression "pcVar31[1]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))))) ;) }) (else_clause "else {\n                      pcStack_18c = (code *)0x0;\n                    }" else (compound_statement "{\n                      pcStack_18c = (code *)0x0;\n                    }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x19d0)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x19d0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar38,0x6a,pbVar7)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }" { (if_statement "if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (compound_statement "{\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }" { (labeled_statement "LAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);" statement_identifier : (expression_statement "piVar41 = *(int **)(pcVar17 + 8);" (assignment_expression "piVar41 = *(int **)(pcVar17 + 8)" identifier = (pointer_expression "*(int **)(pcVar17 + 8)" * (cast_expression "(int **)(pcVar17 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" if (parenthesized_expression "(*(int *)(pcVar40 + 0x20) < 0x20)" ( (binary_expression "*(int *)(pcVar40 + 0x20) < 0x20" (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }" { (expression_statement "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];" (assignment_expression "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" identifier = (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" number_literal << (parenthesized_expression "(*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" ( (binary_expression "*(int *)(pcVar40 + 0x20) - 1U & 0x1f" (binary_expression "*(int *)(pcVar40 + 0x20) - 1U" (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) )))) - number_literal) & number_literal) ))) | (subscript_expression "piVar41[0x34]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" else (compound_statement "{\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" { (expression_statement "uVar13 = piVar41[0x34] | 0x80000000;" (assignment_expression "uVar13 = piVar41[0x34] | 0x80000000" identifier = (binary_expression "piVar41[0x34] | 0x80000000" (subscript_expression "piVar41[0x34]" identifier [ number_literal ]) | number_literal)) ;) }))) (expression_statement "piVar41[0x34] = uVar13;" (assignment_expression "piVar41[0x34] = uVar13" (subscript_expression "piVar41[0x34]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) (if_statement "if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" if (parenthesized_expression "((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'))" ( (binary_expression "(pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" (parenthesized_expression "(pcStack_18c != (code *)0x0)" ( (binary_expression "pcStack_18c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" ( (binary_expression "*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'" (pointer_expression "*(char *)(*(int *)(pcVar40 + 8) + 1)" * (cast_expression "(char *)(*(int *)(pcVar40 + 8) + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar40 + 8) + 1)" ( (binary_expression "*(int *)(pcVar40 + 8) + 1" (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" { (expression_statement "cVar15 = (code)((char)pcVar17[0x13] - 1);" (assignment_expression "cVar15 = (code)((char)pcVar17[0x13] - 1)" identifier = (call_expression "(code)((char)pcVar17[0x13] - 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcVar17[0x13] - 1)" ( (binary_expression "(char)pcVar17[0x13] - 1" (cast_expression "(char)pcVar17[0x13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar17[0x13]" identifier [ number_literal ])) - number_literal) )))) ;) (if_statement "if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" if (parenthesized_expression "(pcVar17[0x13] == (code)0x0)" ( (binary_expression "pcVar17[0x13] == (code)0x0" (subscript_expression "pcVar17[0x13]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }" { (expression_statement "iVar32 = *(int *)(pcVar17 + 0x2c) + 1;" (assignment_expression "iVar32 = *(int *)(pcVar17 + 0x2c) + 1" identifier = (binary_expression "*(int *)(pcVar17 + 0x2c) + 1" (pointer_expression "*(int *)(pcVar17 + 0x2c)" * (cast_expression "(int *)(pcVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2c)" ( (binary_expression "pcVar17 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(pcVar17 + 0x2c) = iVar32;" (assignment_expression "*(int *)(pcVar17 + 0x2c) = iVar32" (pointer_expression "*(int *)(pcVar17 + 0x2c)" * (cast_expression "(int *)(pcVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2c)" ( (binary_expression "pcVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" else (compound_statement "{\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" { (expression_statement "pcVar17[0x13] = cVar15;" (assignment_expression "pcVar17[0x13] = cVar15" (subscript_expression "pcVar17[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);" (assignment_expression "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" identifier = (pointer_expression "*(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" * (cast_expression "(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + ((byte)cVar15 + 0x24) * 4)" ( (binary_expression "pcVar17 + ((byte)cVar15 + 0x24) * 4" identifier + (binary_expression "((byte)cVar15 + 0x24) * 4" (parenthesized_expression "((byte)cVar15 + 0x24)" ( (binary_expression "(byte)cVar15 + 0x24" (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) )) * number_literal)) ))))) ;) }))) (expression_statement "FUN_000bea74(pcVar17,pcVar40,iVar32);" (call_expression "FUN_000bea74(pcVar17,pcVar40,iVar32)" identifier (argument_list "(pcVar17,pcVar40,iVar32)" ( identifier , identifier , identifier ))) ;) (if_statement "if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" if (parenthesized_expression "(*(char *)(*piVar41 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar41 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar41 + 0x51)" * (cast_expression "(char *)(*piVar41 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0x51)" ( (binary_expression "*piVar41 + 0x51" (pointer_expression "*piVar41" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }" { (expression_statement "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];" (assignment_expression "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" identifier = (binary_expression "(piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" (binary_expression "(piVar41[0x1b] + -1) * 0x14" (parenthesized_expression "(piVar41[0x1b] + -1)" ( (binary_expression "piVar41[0x1b] + -1" (subscript_expression "piVar41[0x1b]" identifier [ number_literal ]) + number_literal) )) * number_literal) + (subscript_expression "piVar41[0x1a]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" else (compound_statement "{\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514" identifier = (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x4514" (pointer_expression "*(int *)(puVar47 + 0x96b10)" * (cast_expression "(int *)(puVar47 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b10)" ( (binary_expression "puVar47 + 0x96b10" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(undefined4 *)(iVar39 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar39 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" * (cast_expression "(undefined4 *)(iVar39 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xc)" ( (binary_expression "iVar39 + 0xc" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" { (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + -0x7cb0" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32)" ( identifier , identifier ))) ;) })) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar32 + -0x4bcc))(param_1);" (call_expression "(*(code *)(iVar32 + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(iVar32 + -0x4bcc))" ( (pointer_expression "*(code *)(iVar32 + -0x4bcc)" * (cast_expression "(code *)(iVar32 + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x4bcc)" ( (binary_expression "iVar32 + -0x4bcc" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (if_statement "if (param_5 != (code *)0x0) goto LAB_000c52d0;" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c52d0;" goto statement_identifier ;)) }) (else_clause "else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" else (compound_statement "{\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) }) (else_clause "else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" else (compound_statement "{\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" { (expression_statement "in_t2 = *(code **)(param_5 + 8);" (assignment_expression "in_t2 = *(code **)(param_5 + 8)" identifier = (pointer_expression "*(code **)(param_5 + 8)" * (cast_expression "(code **)(param_5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "in_t2[iVar39] = (code)0x0;" (assignment_expression "in_t2[iVar39] = (code)0x0" (subscript_expression "in_t2[iVar39]" identifier [ identifier ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);" do (compound_statement "{\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      }" { (expression_statement "cVar15 = in_t2[iVar32];" (assignment_expression "cVar15 = in_t2[iVar32]" identifier = (subscript_expression "in_t2[iVar32]" identifier [ identifier ])) ;) (expression_statement "iVar19 = iVar32 + 1;" (assignment_expression "iVar19 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (if_statement "if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" if (parenthesized_expression "((code *)(int)(char)cVar15 == pcVar48)" ( (binary_expression "(code *)(int)(char)cVar15 == pcVar48" (cast_expression "(code *)(int)(char)cVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)cVar15" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar15" ( (type_descriptor "char" primitive_type) ) identifier))) == identifier) )) (compound_statement "{\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" { (expression_statement "pcVar31 = in_t2 + iVar19;" (assignment_expression "pcVar31 = in_t2 + iVar19" identifier = (binary_expression "in_t2 + iVar19" identifier + identifier)) ;) (expression_statement "iVar19 = iVar32 + 2;" (assignment_expression "iVar19 = iVar32 + 2" identifier = (binary_expression "iVar32 + 2" identifier + number_literal)) ;) (expression_statement "cVar15 = *pcVar31;" (assignment_expression "cVar15 = *pcVar31" identifier = (pointer_expression "*pcVar31" * identifier)) ;) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "in_t3 = in_t2 + iVar29;" (assignment_expression "in_t3 = in_t2 + iVar29" identifier = (binary_expression "in_t2 + iVar29" identifier + identifier)) ;) (expression_statement "in_t3[-1] = cVar15;" (assignment_expression "in_t3[-1] = cVar15" (subscript_expression "in_t3[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = iVar19;" (assignment_expression "iVar32 = iVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 < iVar39)" ( (binary_expression "iVar19 < iVar39" identifier < identifier) )) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "*in_t3 = (code)0x0;" (assignment_expression "*in_t3 = (code)0x0" (pointer_expression "*in_t3" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "cVar15 = *in_t2;" (assignment_expression "cVar15 = *in_t2" identifier = (pointer_expression "*in_t2" * identifier)) ;) (expression_statement "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" identifier = (cast_expression "(code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x7b28 + (uint)(byte)cVar15)" ( (binary_expression "iVar32 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) )))) ;) (if_statement "if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" if (parenthesized_expression "(((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))))" ( (binary_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" (parenthesized_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d))" ( (binary_expression "(((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)" (parenthesized_expression "(((byte)*pcVar31 & 4) != 0)" ( (binary_expression "((byte)*pcVar31 & 4) != 0" (parenthesized_expression "((byte)*pcVar31 & 4)" ( (binary_expression "(byte)*pcVar31 & 4" (binary_expression "(byte)*pcVar31" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar15 == (code)0x2d)" ( (binary_expression "cVar15 == (code)0x2d" identifier == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" ( (parenthesized_expression "(pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))" ( (comma_expression "pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) , (binary_expression "cVar15 == (code)0x2f && (iVar29 == 1)" (binary_expression "cVar15 == (code)0x2f" identifier == (cast_expression "(code)0x2f" ( (type_descriptor "code" type_identifier) ) number_literal)) && (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )))) )) ))) )) (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = pcVar48;" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) ;) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (if_statement "if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" if (parenthesized_expression "(*pcVar35 == -0x62)" ( (binary_expression "*pcVar35 == -0x62" (pointer_expression "*pcVar35" * identifier) == number_literal) )) (compound_statement "{\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar35)" ( identifier )))) ;) (if_statement "if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;" if (parenthesized_expression "((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))" ( (binary_expression "(iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" (parenthesized_expression "(iVar32 == 0x42)" ( (binary_expression "iVar32 == 0x42" identifier == number_literal) )) && (parenthesized_expression "(pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" ( (comma_expression "pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) , (binary_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (pointer_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar35 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar35 + 0x30)" * (cast_expression "(int *)(pcVar35 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x30)" ( (binary_expression "pcVar35 + 0x30" identifier + number_literal) )))) + number_literal) )))) == number_literal)) ))) )) (goto_statement "goto LAB_000c52ac;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) ))))) ;) })) (expression_statement "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);" (call_expression "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5)" (parenthesized_expression "(*(code *)(iVar32 + 0x7bc4))" ( (pointer_expression "*(code *)(iVar32 + 0x7bc4)" * (cast_expression "(code *)(iVar32 + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x7bc4)" ( (binary_expression "iVar32 + 0x7bc4" identifier + number_literal) )))) )) (argument_list "(pcVar38,param_5)" ( identifier , identifier ))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) (goto_statement "goto LAB_000c6178;" goto statement_identifier ;) })) (labeled_statement "LAB_000c52ac:\n                      pcVar36 = pcVar35;" statement_identifier : (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;)) (if_statement "if (cVar16 == -0x70) goto LAB_000c6c34;" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (goto_statement "goto LAB_000c6c34;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" statement_identifier : (expression_statement "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_5,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;)) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) }))) (if_statement "if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" if (parenthesized_expression "(((uint)pcStack_190 & 8) == 0)" ( (binary_expression "((uint)pcStack_190 & 8) == 0" (parenthesized_expression "((uint)pcStack_190 & 8)" ( (binary_expression "(uint)pcStack_190 & 8" (cast_expression "(uint)pcStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }" { (if_statement "if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" if (parenthesized_expression "(*(char *)(*(int *)pcVar17 + 0x51) == '\0')" ( (binary_expression "*(char *)(*(int *)pcVar17 + 0x51) == '\0'" (pointer_expression "*(char *)(*(int *)pcVar17 + 0x51)" * (cast_expression "(char *)(*(int *)pcVar17 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x51)" ( (binary_expression "*(int *)pcVar17 + 0x51" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" { (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "pcVar27 = *(code **)(param_5 + 8);" (assignment_expression "pcVar27 = *(code **)(param_5 + 8)" identifier = (pointer_expression "*(code **)(param_5 + 8)" * (cast_expression "(code **)(param_5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) (if_statement "if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" if (parenthesized_expression "(cVar15 != (code)0x0)" ( (binary_expression "cVar15 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (do_statement "do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);" do (compound_statement "{\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          }" { (expression_statement "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" identifier = (cast_expression "(code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x7b28 + (uint)(byte)cVar15)" ( (binary_expression "iVar39 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar39 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) )))) ;) (expression_statement "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);" (assignment_expression "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" identifier = (pointer_expression "*(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" * (cast_expression "(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x7a28 + (uint)(byte)cVar15)" ( (binary_expression "iVar32 + -0x7a28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7a28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) ))))) ;) (expression_statement "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));" (assignment_expression "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (pointer_expression "*pcVar27" * identifier) = (call_expression "(code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (parenthesized_expression "(code)" ( identifier )) (argument_list "((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" ( (binary_expression "(byte)cVar15 & ~((byte)*pcVar42 & 0x20)" (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier) & (unary_expression "~((byte)*pcVar42 & 0x20)" ~ (parenthesized_expression "((byte)*pcVar42 & 0x20)" ( (binary_expression "(byte)*pcVar42 & 0x20" (binary_expression "(byte)*pcVar42" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )))) )))) ;) (expression_statement "pcVar27 = in_t2 + *(int *)(pcVar31 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(pcVar31 + 8)" identifier = (binary_expression "in_t2 + *(int *)(pcVar31 + 8)" identifier + (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "in_t2 = in_t2 + 1;" (assignment_expression "in_t2 = in_t2 + 1" identifier = (binary_expression "in_t2 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar27 = cVar24;" (assignment_expression "*pcVar27 = cVar24" (pointer_expression "*pcVar27" * identifier) = identifier) ;) (expression_statement "pcVar27 = in_t2 + *(int *)(param_5 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(param_5 + 8)" identifier = (binary_expression "in_t2 + *(int *)(param_5 + 8)" identifier + (pointer_expression "*(int *)(param_5 + 8)" * (cast_expression "(int *)(param_5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) )))))) ;) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) }) while (parenthesized_expression "(cVar15 != (code)0x0)" ( (binary_expression "cVar15 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) })) })) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" if (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" ( (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }" { (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" identifier = (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }" { (expression_statement "bVar2 = *(byte *)(in_zero + -1);" (assignment_expression "bVar2 = *(byte *)(in_zero + -1)" identifier = (pointer_expression "*(byte *)(in_zero + -1)" * (cast_expression "(byte *)(in_zero + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) ))))) ;) (expression_statement "pbVar7 = (byte *)0xffffffff;" (assignment_expression "pbVar7 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" else (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" { (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" identifier = (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" ( (pointer_expression "**(code **)(puVar47 + 0x96efc)" * (pointer_expression "*(code **)(puVar47 + 0x96efc)" * (cast_expression "(code **)(puVar47 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96efc)" ( (binary_expression "puVar47 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" identifier = (cast_expression "(byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" identifier + (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" ( (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" ( (binary_expression "uVar13 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) }))) (if_statement "if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }" if (parenthesized_expression "(bVar2 == 0x40)" ( (binary_expression "bVar2 == 0x40" identifier == number_literal) )) (compound_statement "{\n                          pcStack_18c = (code *)0x0;\n                        }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;" (assignment_expression "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*pbVar7" * identifier) = (binary_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" * (cast_expression "(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" ( (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28" (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc)" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" else (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" else (compound_statement "{\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" if (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" ( (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" { (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" identifier = (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }" { (expression_statement "cRamffffffff = *(char *)(in_zero + -1) + '\x01';" (assignment_expression "cRamffffffff = *(char *)(in_zero + -1) + '\x01'" identifier = (binary_expression "*(char *)(in_zero + -1) + '\x01'" (pointer_expression "*(char *)(in_zero + -1)" * (cast_expression "(char *)(in_zero + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) }) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" else (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" { (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" identifier = (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" ( (pointer_expression "**(code **)(puVar47 + 0x96efc)" * (pointer_expression "*(code **)(puVar47 + 0x96efc)" * (cast_expression "(code **)(puVar47 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96efc)" ( (binary_expression "puVar47 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" identifier = (cast_expression "(char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" identifier + (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" ( (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" ( (binary_expression "uVar13 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "*pcVar40 = *pcVar40 + '\x01';" (assignment_expression "*pcVar40 = *pcVar40 + '\x01'" (pointer_expression "*pcVar40" * identifier) = (binary_expression "*pcVar40 + '\x01'" (pointer_expression "*pcVar40" * identifier) + (char_literal "'\x01'" ' escape_sequence '))) ;) }))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) })) (expression_statement "iVar32 = iVar32 + -0x7be0;" (assignment_expression "iVar32 = iVar32 + -0x7be0" identifier = (binary_expression "iVar32 + -0x7be0" identifier + number_literal)) ;) }))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (if_statement "if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" if (parenthesized_expression "(pcStack_1a4 == (code *)0x0)" ( (binary_expression "pcStack_1a4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }" { (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,0,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,0,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,0,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,0,iVar32)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" identifier = (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x39,uVar8,param_5)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }" { (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" else (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" { (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar39 + 0x26)" * (cast_expression "(undefined2 *)(iVar39 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x26)" ( (binary_expression "iVar39 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar46 = (code *)(iVar29 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar29 + -0x73f4)" identifier = (cast_expression "(code *)(iVar29 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x73f4)" ( (binary_expression "iVar29 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar39,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar39,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar39,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" identifier (argument_list "(pcVar26,pcVar22,param_5)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" else (compound_statement "{\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" { (expression_statement "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" identifier = (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,uVar8,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,uVar8,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,uVar8,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,uVar8,iVar32)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" identifier = (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x39,uVar8,param_5)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }" { (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" else (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" { (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" * (cast_expression "(undefined2 *)(iVar29 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26)" ( (binary_expression "iVar29 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar46 = (code *)(iVar19 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar19 + -0x73f4)" identifier = (cast_expression "(code *)(iVar19 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x73f4)" ( (binary_expression "iVar19 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar29,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar29,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar29,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" identifier (argument_list "(pcVar26,pcVar22,param_5)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) }))) (expression_statement "pcStack_190 = (code *)(iVar29 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar29 + 0x4ac8)" identifier = (cast_expression "(code *)(iVar29 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x4ac8)" ( (binary_expression "iVar29 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,pcStack_1a4,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,pcStack_1a4,iVar32)" ( identifier , identifier , identifier )))) ;) (expression_statement "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);" (assignment_expression "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8)" identifier = (call_expression "(*pcVar27)(pcVar17,0x38,uVar8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x38,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" { (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" * (cast_expression "(undefined2 *)(iVar32 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26)" ( (binary_expression "iVar32 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);" (assignment_expression "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar32,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar32,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar32,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,pcVar38);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,pcVar38)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,pcVar22,pcVar38)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar17)" identifier (argument_list "(pcStack_1a4,pcVar17)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" identifier = (call_expression "CONCAT44(pcVar36,pcVar42)" identifier (argument_list "(pcVar36,pcVar42)" ( identifier , identifier )))) ;) (if_statement "if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" if (parenthesized_expression "(pcStack_18c != (code *)0x0)" ( (binary_expression "pcStack_18c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" { (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar17)" identifier (argument_list "(pcStack_1a4,pcVar17)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" identifier = (call_expression "CONCAT44(pcVar36,pcVar42)" identifier (argument_list "(pcVar36,pcVar42)" ( identifier , identifier )))) ;) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) })) })) })) }))) (labeled_statement "LAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;)) (expression_statement "uVar53 = CONCAT44(pcVar35,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar35,pcVar42)" identifier = (call_expression "CONCAT44(pcVar35,pcVar42)" identifier (argument_list "(pcVar35,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(cVar15 != (code)0x2c)" ( (binary_expression "cVar15 != (code)0x2c" identifier != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) })) })) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)uVar53;" (assignment_expression "uVar18 = (uint)uVar53" identifier = (cast_expression "(uint)uVar53" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar51 = CONCAT44(param_1,param_5);" (assignment_expression "uVar51 = CONCAT44(param_1,param_5)" identifier = (call_expression "CONCAT44(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "cVar15 = (code)0x2c;" (assignment_expression "cVar15 = (code)0x2c" identifier = (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(uVar13 == 0x9d)" ( (binary_expression "uVar13 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }" { (expression_statement "pcVar38 = *(code **)(param_4 + 0x14);" (assignment_expression "pcVar38 = *(code **)(param_4 + 0x14)" identifier = (pointer_expression "*(code **)(param_4 + 0x14)" * (cast_expression "(code **)(param_4 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" if (parenthesized_expression "((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2))" ( (binary_expression "(pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)" (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(int *)pcVar38 == 2)" ( (binary_expression "*(int *)pcVar38 == 2" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" { (expression_statement "pcVar42 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x18)" * (cast_expression "(code **)(pcVar38 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x18)" ( (binary_expression "pcVar38 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" if (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" ( (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (comma_expression "cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "cVar24 = (code)0x6d" identifier = (cast_expression "(code)0x6d" ( (type_descriptor "code" type_identifier) ) number_literal)) , (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" { (expression_statement "in_t4 = (code *)0x0;" (assignment_expression "in_t4 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = (code *)(uint)**(byte **)(param_4 + 8);" (assignment_expression "in_t6 = (code *)(uint)**(byte **)(param_4 + 8)" identifier = (binary_expression "(code *)(uint)**(byte **)(param_4 + 8)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (pointer_expression "*(byte **)(param_4 + 8)" * (cast_expression "(byte **)(param_4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28" identifier = (binary_expression "*(int *)(puVar47 + 0x96bcc) + -0x7a28" (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);" (assignment_expression "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b10) + -0x6da4)" ( (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x6da4" (pointer_expression "*(int *)(puVar47 + 0x96b10)" * (cast_expression "(int *)(puVar47 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b10)" ( (binary_expression "puVar47 + 0x96b10" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);" (assignment_expression "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" identifier = (cast_expression "(byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b34) + -0xfb4)" ( (binary_expression "*(int *)(puVar47 + 0x96b34) + -0xfb4" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_t5 = in_t3;" (assignment_expression "in_t5 = in_t3" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" { (expression_statement "pbVar30 = *(byte **)(param_4 + 8);" (assignment_expression "pbVar30 = *(byte **)(param_4 + 8)" identifier = (pointer_expression "*(byte **)(param_4 + 8)" * (cast_expression "(byte **)(param_4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = in_t6;" (assignment_expression "pcVar27 = in_t6" identifier = identifier) ;) (if_statement "if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" if (parenthesized_expression "(in_t6[iVar32] == cVar24)" ( (binary_expression "in_t6[iVar32] == cVar24" (subscript_expression "in_t6[iVar32]" identifier [ identifier ]) == identifier) )) (compound_statement "{\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" { (do_statement "do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));" do (compound_statement "{\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              }" { (if_statement "if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" { (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (expression_statement "pcVar46 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 4)" identifier = (pointer_expression "*(code **)(pcVar38 + 4)" * (cast_expression "(code **)(pcVar38 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 4)" ( (binary_expression "pcVar38 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "in_t4 = in_t3 + (int)in_t4 * 8;" (assignment_expression "in_t4 = in_t3 + (int)in_t4 * 8" identifier = (binary_expression "in_t3 + (int)in_t4 * 8" identifier + (binary_expression "(int)in_t4 * 8" (cast_expression "(int)in_t4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pcStack_18c = (code *)(uint)(byte)in_t4[4];" (assignment_expression "pcStack_18c = (code *)(uint)(byte)in_t4[4]" identifier = (cast_expression "(code *)(uint)(byte)in_t4[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)in_t4[4]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)in_t4[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "in_t4[4]" identifier [ number_literal ]))))) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (expression_statement "pbVar30 = pbVar30 + 1;" (assignment_expression "pbVar30 = pbVar30 + 1" identifier = (binary_expression "pbVar30 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = pbVar7 + 1;" (assignment_expression "pbVar1 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = (code *)(uint)*pbVar30;" (assignment_expression "pcVar31 = (code *)(uint)*pbVar30" identifier = (binary_expression "(code *)(uint)*pbVar30" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "uVar18 = (uint)(byte)pcVar31[iVar32];" (assignment_expression "uVar18 = (uint)(byte)pcVar31[iVar32]" identifier = (cast_expression "(uint)(byte)pcVar31[iVar32]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar31[iVar32]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar31[iVar32]" identifier [ identifier ])))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcVar31;" (assignment_expression "pcVar27 = pcVar31" identifier = identifier) ;) }) while (parenthesized_expression "(uVar18 == *(byte *)(iVar32 + (uint)*pbVar1))" ( (binary_expression "uVar18 == *(byte *)(iVar32 + (uint)*pbVar1)" identifier == (pointer_expression "*(byte *)(iVar32 + (uint)*pbVar1)" * (cast_expression "(byte *)(iVar32 + (uint)*pbVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)*pbVar1)" ( (binary_expression "iVar32 + (uint)*pbVar1" identifier + (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) ;) })) (expression_statement "in_t4 = in_t4 + 1;" (assignment_expression "in_t4 = in_t4 + 1" identifier = (binary_expression "in_t4 + 1" identifier + number_literal)) ;) (expression_statement "in_t5 = in_t5 + 8;" (assignment_expression "in_t5 = in_t5 + 8" identifier = (binary_expression "in_t5 + 8" identifier + number_literal)) ;) (if_statement "if (in_t4 == (code *)&DAT_00000004) break;" if (parenthesized_expression "(in_t4 == (code *)&DAT_00000004)" ( (binary_expression "in_t4 == (code *)&DAT_00000004" identifier == (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) )) (break_statement "break;" break ;)) (expression_statement "pbVar7 = *(byte **)in_t5;" (assignment_expression "pbVar7 = *(byte **)in_t5" identifier = (pointer_expression "*(byte **)in_t5" * (cast_expression "(byte **)in_t5" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar24 = *(code *)(iVar32 + (uint)*pbVar7);" (assignment_expression "cVar24 = *(code *)(iVar32 + (uint)*pbVar7)" identifier = (pointer_expression "*(code *)(iVar32 + (uint)*pbVar7)" * (cast_expression "(code *)(iVar32 + (uint)*pbVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)*pbVar7)" ( (binary_expression "iVar32 + (uint)*pbVar7" identifier + (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) ;) })) })) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (expression_statement "pcVar42 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 4)" identifier = (pointer_expression "*(code **)(pcVar38 + 4)" * (cast_expression "(code **)(pcVar38 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 4)" ( (binary_expression "pcVar38 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar50 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar50 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" if (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" ( (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (comma_expression "uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "uVar50 = uVar53" identifier = identifier) , (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" { (expression_statement "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);" (assignment_expression "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" * (cast_expression "(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x40)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x40" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" { (labeled_statement "LAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar31 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (while_statement "while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" while (parenthesized_expression "(pcVar6 != pcVar31)" ( (binary_expression "pcVar6 != pcVar31" identifier != identifier) )) (compound_statement "{\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" { (expression_statement "puVar20 = (undefined4 *)puVar20[6];" (assignment_expression "puVar20 = (undefined4 *)puVar20[6]" identifier = (cast_expression "(undefined4 *)puVar20[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[6]" identifier [ number_literal ]))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7224;" goto statement_identifier ;)) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) })) (expression_statement "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);" (assignment_expression "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48)" identifier = (pointer_expression "*(code **)(*(int *)puVar20[2] + 0x48)" * (cast_expression "(code **)(*(int *)puVar20[2] + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar20[2] + 0x48)" ( (binary_expression "*(int *)puVar20[2] + 0x48" (pointer_expression "*(int *)puVar20[2]" * (cast_expression "(int *)puVar20[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ]))) + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)auStack_168;" (assignment_expression "pcVar31 = (code *)auStack_168" identifier = (cast_expression "(code *)auStack_168" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" { (expression_statement "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );" (assignment_expression "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" identifier = (call_expression "(*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" ( (cast_expression "(int *)puVar20[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ])) , number_literal , (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" if (parenthesized_expression "(0x95 < (int)uVar13)" ( (binary_expression "0x95 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" { (expression_statement "pcStack_18c = (code *)(uVar13 & 0xff);" (assignment_expression "pcStack_18c = (code *)(uVar13 & 0xff)" identifier = (cast_expression "(code *)(uVar13 & 0xff)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )))) ;) (expression_statement "pcVar46 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x18)" * (cast_expression "(code **)(pcVar38 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x18)" ( (binary_expression "pcVar38 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c609c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c60a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" { (if_statement "if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" if (parenthesized_expression "((uVar13 == 0x9c) || (uVar13 - 0x33 < 2))" ( (binary_expression "(uVar13 == 0x9c) || (uVar13 - 0x33 < 2)" (parenthesized_expression "(uVar13 == 0x9c)" ( (binary_expression "uVar13 == 0x9c" identifier == number_literal) )) || (parenthesized_expression "(uVar13 - 0x33 < 2)" ( (binary_expression "uVar13 - 0x33 < 2" (binary_expression "uVar13 - 0x33" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" { (expression_statement "pcVar42 = *(code **)(param_4 + 0xc);" (assignment_expression "pcVar42 = *(code **)(param_4 + 0xc)" identifier = (pointer_expression "*(code **)(param_4 + 0xc)" * (cast_expression "(code **)(param_4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(param_4 + 0x10);" (assignment_expression "pcVar27 = *(code **)(param_4 + 0x10)" identifier = (pointer_expression "*(code **)(param_4 + 0x10)" * (cast_expression "(code **)(param_4 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }" if (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }" { (expression_statement "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);" (assignment_expression "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" identifier = (call_expression "(uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal) )))) ;) }) (else_clause "else {\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar18 = 0;\n        }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" identifier = identifier) ;) (if_statement "if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" if (parenthesized_expression "(((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0))" ( (binary_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" (parenthesized_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e))" ( (binary_expression "(pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)" (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar27 == (code)0x9e)" ( (binary_expression "*pcVar27 == (code)0x9e" (pointer_expression "*pcVar27" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) && (parenthesized_expression "(*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar27 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar27 + 0x30)" * (cast_expression "(int *)(pcVar27 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x30)" ( (binary_expression "pcVar27 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar42;" (assignment_expression "pcVar46 = pcVar42" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" identifier = identifier) ;) })) (if_statement "if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar13 == 0x34)" ( (binary_expression "uVar13 == 0x34" identifier == number_literal) )) (compound_statement "{\n          pcStack_18c = (code *)0x44;\n        }" { (expression_statement "pcStack_18c = (code *)0x44;" (assignment_expression "pcStack_18c = (code *)0x44" identifier = (cast_expression "(code *)0x44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" else (if_statement "if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar13 == 0x9c)" ( (binary_expression "uVar13 == 0x9c" identifier == number_literal) )) (compound_statement "{\n          pcStack_18c = (code *)0x45;\n        }" { (expression_statement "pcStack_18c = (code *)0x45;" (assignment_expression "pcStack_18c = (code *)0x45" identifier = (cast_expression "(code *)0x45" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" else (compound_statement "{\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" { (expression_statement "pcStack_18c = (code *)0x46;" (assignment_expression "pcStack_18c = (code *)0x46" identifier = (cast_expression "(code *)0x46" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }" if (parenthesized_expression "(uVar13 != 0x33)" ( (binary_expression "uVar13 != 0x33" identifier != number_literal) )) (compound_statement "{\n            pcStack_18c = (code *)0x0;\n          }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))))) (labeled_statement "LAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);" statement_identifier : (expression_statement "pcStack_188 = *(code **)(puVar47 + 0x96c38);" (assignment_expression "pcStack_188 = *(code **)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96c38)" * (cast_expression "(code **)(puVar47 + 0x96c38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;)) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000c5d04:\n        pcVar27 = pcVar42;" statement_identifier : (expression_statement "pcVar27 = pcVar42;" (assignment_expression "pcVar27 = pcVar42" identifier = identifier) ;)) (expression_statement "pcVar38 = pcVar46;" (assignment_expression "pcVar38 = pcVar46" identifier = identifier) ;) (expression_statement "uVar18 = uVar18 - 1;" (assignment_expression "uVar18 = uVar18 - 1" identifier = (binary_expression "uVar18 - 1" identifier - number_literal)) ;) (if_statement "if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" if (parenthesized_expression "(uVar18 != 0xffffffff)" ( (binary_expression "uVar18 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" { (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar38;" (assignment_expression "pcVar42 = pcVar38" identifier = identifier) ;) (if_statement "if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;" if (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5cbc;" goto statement_identifier ;)) (if_statement "if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" { (expression_statement "(*pcStack_1b0)(pcStack_1b8,pcVar27);" (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar27)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar51 = 0;" (assignment_expression "uVar51 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5d38;" goto statement_identifier ;) })) (expression_statement "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);" (assignment_expression "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" identifier = (call_expression "CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" identifier (argument_list "((code *)(iVar32 + 0x26b4),0xffffffff)" ( (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) ))) , number_literal )))) ;) (labeled_statement "LAB_000c609c:\n        cVar15 = pcVar22[8];" statement_identifier : (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);" statement_identifier : (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" identifier = (cast_expression "(code *)(uVar51 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar51 >> 0x20)" ( (binary_expression "uVar51 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" identifier = (cast_expression "(code *)uVar51" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(cVar15 != (code)0x2c)" ( (binary_expression "cVar15 != (code)0x2c" identifier != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) })) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar9 = (undefined4)uVar51;" (assignment_expression "uVar9 = (undefined4)uVar51" identifier = (cast_expression "(undefined4)uVar51" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" if (parenthesized_expression "((uVar13 == 0x35) || (uVar13 == 0x2d))" ( (binary_expression "(uVar13 == 0x35) || (uVar13 == 0x2d)" (parenthesized_expression "(uVar13 == 0x35)" ( (binary_expression "uVar13 == 0x35" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0x2d)" ( (binary_expression "uVar13 == 0x2d" identifier == number_literal) ))) )) (compound_statement "{\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" { (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n          cVar16 = pcVar40[0x28];\n        }" { (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" identifier = (subscript_expression "pcVar40[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }" { (expression_statement "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" else (compound_statement "{\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" { (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(cVar16 != '\x7f')" ( (binary_expression "cVar16 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14)" identifier = (pointer_expression "*(code **)**(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(code **)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))))) ;) }))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" if (parenthesized_expression "(1 < (int)param_1)" ( (binary_expression "1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" { (expression_statement "pcVar35 = *(char **)(param_4 + 0x10);" (assignment_expression "pcVar35 = *(char **)(param_4 + 0x10)" identifier = (pointer_expression "*(char **)(param_4 + 0x10)" * (cast_expression "(char **)(param_4 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar35;" (assignment_expression "cVar16 = *pcVar35" identifier = (pointer_expression "*pcVar35" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n            cVar16 = pcVar35[0x28];\n          }" { (expression_statement "cVar16 = pcVar35[0x28];" (assignment_expression "cVar16 = pcVar35[0x28]" identifier = (subscript_expression "pcVar35[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }" { (expression_statement "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x14)" ( (binary_expression "pcVar35 + 0x14" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" else (compound_statement "{\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" { (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(cVar16 != '\x7f')" ( (binary_expression "cVar16 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14)" identifier = (pointer_expression "*(code **)**(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(code **)**(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x14)" ( (binary_expression "pcVar35 + 0x14" identifier + number_literal) )))))))) ;) }))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" if (parenthesized_expression "((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))))" ( (binary_expression "(param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" (parenthesized_expression "(param_1 == pcVar27)" ( (binary_expression "param_1 == pcVar27" identifier == identifier) )) && (parenthesized_expression "(((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" ( (parenthesized_expression "((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))" ( (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar40 + 4) & 0x800)" ( (binary_expression "*(uint *)(pcVar40 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" ( (comma_expression "uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) , (binary_expression "(*(uint *)(pcVar35 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar35 + 4) & 0x800)" ( (binary_expression "*(uint *)(pcVar35 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar35 + 4)" * (cast_expression "(uint *)(pcVar35 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 4)" ( (binary_expression "pcVar35 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) ))) )) (compound_statement "{\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" { (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" { (expression_statement "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);" (assignment_expression "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" identifier = (call_expression "(*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" ( (pointer_expression "*(code *)(iVar39 + 0x294c)" * (cast_expression "(code *)(iVar39 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x294c)" ( (binary_expression "iVar39 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pcVar17,pcVar40,pcVar42)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" identifier = (cast_expression "(code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" ( (pointer_expression "*(code *)(iVar39 + 0x294c)" * (cast_expression "(code *)(iVar39 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x294c)" ( (binary_expression "iVar39 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" ( identifier , (pointer_expression "*(undefined4 *)(param_4 + 0x10)" * (cast_expression "(undefined4 *)(param_4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) , identifier ))))) ;) (expression_statement "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);" (assignment_expression "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" identifier = (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" ( (pointer_expression "*(code *)(iVar32 + 0x26b4)" * (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,*param_4,uVar9)" ( identifier , (pointer_expression "*param_4" * identifier) , identifier )))) ;) (if_statement "if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" { (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" * (cast_expression "(undefined2 *)(iVar29 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26)" ( (binary_expression "iVar29 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "uVar9 = (*pcVar38)(pcVar22,iVar29,1);" (assignment_expression "uVar9 = (*pcVar38)(pcVar22,iVar29,1)" identifier = (call_expression "(*pcVar38)(pcVar22,iVar29,1)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(pcVar22,iVar29,1)" ( identifier , identifier , number_literal )))) ;) (expression_statement "pcVar42 = pcVar42 + 1;" (assignment_expression "pcVar42 = pcVar42 + 1" identifier = (binary_expression "pcVar42 + 1" identifier + number_literal)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,uVar9);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,uVar9)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,pcVar22,uVar9)" ( identifier , identifier , identifier ))) ;) (if_statement "if (pcVar42 == param_1) break;" if (parenthesized_expression "(pcVar42 == param_1)" ( (binary_expression "pcVar42 == param_1" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) })) (expression_statement "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" identifier = (call_expression "CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" identifier (argument_list "(uVar8,*(int *)(pcVar22 + 0x14))" ( identifier , (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" * (cast_expression "(undefined2 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(pcVar22[8] != (code)0x2c)" ( (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "uVar51 = CONCAT44(param_1,pcVar17);" (assignment_expression "uVar51 = CONCAT44(param_1,pcVar17)" identifier = (call_expression "CONCAT44(param_1,pcVar17)" identifier (argument_list "(param_1,pcVar17)" ( identifier , identifier )))) ;) })) })) })) (labeled_statement "LAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);" statement_identifier : (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" identifier = (cast_expression "(code *)(uVar51 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar51 >> 0x20)" ( (binary_expression "uVar51 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" identifier = (cast_expression "(code *)uVar51" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar13 == 0x31)" ( (binary_expression "uVar13 == 0x31" identifier == number_literal) )) (compound_statement "{\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" { (expression_statement "iVar32 = *(int *)(pcVar43 + 0x18);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0x18)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" if (parenthesized_expression "(((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0))" ( (binary_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" (parenthesized_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b))" ( (binary_expression "(iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" ( (comma_expression "pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) , (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) , (binary_expression "*pcVar40 == -0x5b" (pointer_expression "*pcVar40" * identifier) == number_literal))) ))) )) && (parenthesized_expression "(iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" ( (comma_expression "iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) , (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) , (binary_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34)" * (cast_expression "(int *)(*(int *)(param_4 + 0x14) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x34)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x34" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) )))) == number_literal))) ))) )) (compound_statement "{\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" { (expression_statement "param_1 = (code *)0xa5;" (assignment_expression "param_1 = (code *)0xa5" identifier = (cast_expression "(code *)0xa5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "cVar16 = -0x5b;" (assignment_expression "cVar16 = -0x5b" identifier = number_literal) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" { (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }" { (expression_statement "iVar29 = **(int **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = **(int **)(pcVar40 + 0x14)" identifier = (pointer_expression "**(int **)(pcVar40 + 0x14)" * (pointer_expression "*(int **)(pcVar40 + 0x14)" * (cast_expression "(int **)(pcVar40 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))) ;) }) (else_clause "else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" else (if_statement "if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" if (parenthesized_expression "(cVar16 == '\x7f')" ( (binary_expression "cVar16 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }" { (expression_statement "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14)" identifier = (pointer_expression "*(int *)**(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(int *)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))))) ;) }) (else_clause "else {\n              iVar29 = 1;\n            }" else (compound_statement "{\n              iVar29 = 1;\n            }" { (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) }))))) (expression_statement "param_5 = pcStack_19c;" (assignment_expression "param_5 = pcStack_19c" identifier = identifier) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (iVar29 <= iVar32) break;" if (parenthesized_expression "(iVar29 <= iVar32)" ( (binary_expression "iVar29 <= iVar32" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);" (assignment_expression "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,param_4,2)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pcVar43 = (code *)(iVar29 * 0x30);" (assignment_expression "pcVar43 = (code *)(iVar29 * 0x30)" identifier = (cast_expression "(code *)(iVar29 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 * 0x30)" ( (binary_expression "iVar29 * 0x30" identifier * number_literal) )))) ;) (expression_statement "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;" (assignment_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32" (pointer_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" * (cast_expression "(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar29);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar29)" identifier (argument_list "(pcVar26,pcVar22,iVar29)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" * (cast_expression "(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n              cVar16 = pcVar40[0x28];\n            }" { (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" identifier = (subscript_expression "pcVar40[0x28]" identifier [ number_literal ])) ;) })) })) })) })) }))) })) (labeled_statement "LAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" statement_identifier : (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" ( (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) = (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" ( (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) | identifier)) ;) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" ( (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) = (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" ( (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) | identifier)) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_154 == *piVar5) {\n    return;\n  }" if (parenthesized_expression "(iStack_154 == *piVar5)" ( (binary_expression "iStack_154 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar47 + 0x96f48))();" (call_expression "(**(code **)(puVar47 + 0x96f48))()" (parenthesized_expression "(**(code **)(puVar47 + 0x96f48))" ( (pointer_expression "**(code **)(puVar47 + 0x96f48)" * (pointer_expression "*(code **)(puVar47 + 0x96f48)" * (cast_expression "(code **)(puVar47 + 0x96f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96f48)" ( (binary_expression "puVar47 + 0x96f48" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" identifier = identifier) ;) (labeled_statement "LAB_000c7158:\n  uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);" statement_identifier : (expression_statement "uVar18 = 1 << (uVar13 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar13 & 0x1f)" identifier = (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) ;)) (if_statement "if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" if (parenthesized_expression "((uVar13 & 0x20) == 0)" ( (binary_expression "(uVar13 & 0x20) == 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar13 = 0;\n  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" else (compound_statement "{\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" { (expression_statement "uVar13 = uVar18;" (assignment_expression "uVar13 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "in_t2 = (code *)((uint)in_t2 | uVar18);" (assignment_expression "in_t2 = (code *)((uint)in_t2 | uVar18)" identifier = (cast_expression "(code *)((uint)in_t2 | uVar18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t2 | uVar18)" ( (binary_expression "(uint)in_t2 | uVar18" (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (expression_statement "in_t3 = (code *)((uint)in_t3 | uVar13);" (assignment_expression "in_t3 = (code *)((uint)in_t3 | uVar13)" identifier = (cast_expression "(code *)((uint)in_t3 | uVar13)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t3 | uVar13)" ( (binary_expression "(uint)in_t3 | uVar13" (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (while_statement "while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" { (expression_statement "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar53 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar48 = (code *)((int)uVar53 + 1);" (assignment_expression "pcVar48 = (code *)((int)uVar53 + 1)" identifier = (cast_expression "(code *)((int)uVar53 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar53 + 1)" ( (binary_expression "(int)uVar53 + 1" (cast_expression "(int)uVar53" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar31 = pcVar31 + 0x30;" (assignment_expression "pcVar31 = pcVar31 + 0x30" identifier = (binary_expression "pcVar31 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar37 == pcVar48) break;" if (parenthesized_expression "(pcVar37 == pcVar48)" ( (binary_expression "pcVar37 == pcVar48" identifier == identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);" statement_identifier : (expression_statement "uVar53 = CONCAT44(pcVar37,pcVar48);" (assignment_expression "uVar53 = CONCAT44(pcVar37,pcVar48)" identifier = (call_expression "CONCAT44(pcVar37,pcVar48)" identifier (argument_list "(pcVar37,pcVar48)" ( identifier , identifier )))) ;)) (if_statement "if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" if (parenthesized_expression "((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5))" ( (binary_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" (parenthesized_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0))" ( (binary_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd)" ( (binary_expression "(**(byte **)pcVar31 - 0x2d & 0xff) < 0xd" (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0xff)" ( (binary_expression "**(byte **)pcVar31 - 0x2d & 0xff" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" * (pointer_expression "*(byte **)pcVar31" * (cast_expression "(byte **)pcVar31" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) - number_literal) & number_literal) )) < number_literal) )) && (parenthesized_expression "((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0" (cast_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" ( (binary_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f" (parenthesized_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f))" ( (binary_expression "(uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)" (cast_expression "(uint)in_t4" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0x1f)" ( (binary_expression "**(byte **)pcVar31 - 0x2d & 0x1f" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" * (pointer_expression "*(byte **)pcVar31" * (cast_expression "(byte **)pcVar31" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) - number_literal) & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) || (parenthesized_expression "((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" ( (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5" (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(pcVar31 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" { (if_statement "if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" if (parenthesized_expression "(0 < (int)*(uint *)(in_t6 + 0x1ec))" ( (binary_expression "0 < (int)*(uint *)(in_t6 + 0x1ec)" number_literal < (cast_expression "(int)*(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(in_t6 + 0x1ec)" * (cast_expression "(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1ec)" ( (binary_expression "in_t6 + 0x1ec" identifier + number_literal) )))))) )) (compound_statement "{\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" { (if_statement "if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;" if (parenthesized_expression "(*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14))" ( (binary_expression "*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)" (pointer_expression "*(int *)(in_t6 + 0x1f0)" * (cast_expression "(int *)(in_t6 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1f0)" ( (binary_expression "in_t6 + 0x1f0" identifier + number_literal) )))) == (pointer_expression "*(int *)(pcVar31 + 0x14)" * (cast_expression "(int *)(pcVar31 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x14)" ( (binary_expression "pcVar31 + 0x14" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c7158;" goto statement_identifier ;)) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "pcVar22 = in_t6 + 500;" (assignment_expression "pcVar22 = in_t6 + 500" identifier = (binary_expression "in_t6 + 500" identifier + number_literal)) ;) (while_statement "while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" while (parenthesized_expression "(uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec))" ( (comma_expression "uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)" (assignment_expression "uVar13 = uVar18" identifier = identifier) , (binary_expression "uVar13 != *(uint *)(in_t6 + 0x1ec)" identifier != (pointer_expression "*(uint *)(in_t6 + 0x1ec)" * (cast_expression "(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1ec)" ( (binary_expression "in_t6 + 0x1ec" identifier + number_literal) )))))) )) (compound_statement "{\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" { (expression_statement "iVar32 = *(int *)pcVar22;" (assignment_expression "iVar32 = *(int *)pcVar22" identifier = (pointer_expression "*(int *)pcVar22" * (cast_expression "(int *)pcVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar18 = uVar13 + 1;" (assignment_expression "uVar18 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar22 = pcVar22 + 4;" (assignment_expression "pcVar22 = pcVar22 + 4" identifier = (binary_expression "pcVar22 + 4" identifier + number_literal)) ;) (if_statement "if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;" if (parenthesized_expression "(*(int *)(pcVar31 + 0x14) == iVar32)" ( (binary_expression "*(int *)(pcVar31 + 0x14) == iVar32" (pointer_expression "*(int *)(pcVar31 + 0x14)" * (cast_expression "(int *)(pcVar31 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x14)" ( (binary_expression "pcVar31 + 0x14" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_000c6df0;" goto statement_identifier ;)) })) })) })) })) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3)" identifier = (cast_expression "(code *)((uint)pcStack_188 & (uint)in_t3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_188 & (uint)in_t3)" ( (binary_expression "(uint)pcStack_188 & (uint)in_t3" (cast_expression "(uint)pcStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2)" identifier = (cast_expression "(code *)((uint)pcStack_184 & (uint)in_t2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_184 & (uint)in_t2)" ( (binary_expression "(uint)pcStack_184 & (uint)in_t2" (cast_expression "(uint)pcStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pcVar22 = pcVar27;" (assignment_expression "pcVar22 = pcVar27" identifier = identifier) ;) (while_statement "while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" { (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" identifier = (binary_expression "pcVar46 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar42 == pcVar38) break;" if (parenthesized_expression "(pcVar42 == pcVar38)" ( (binary_expression "pcVar42 == pcVar38" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;" if (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" ( (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcStack_184 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;)) (labeled_statement "LAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" statement_identifier : (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" if (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0)" ( (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff)" ( (binary_expression "*(ushort *)(pcVar46 + 0xc) & 0x1ff" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" { (if_statement "if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" { (labeled_statement "LAB_000c5b1c:\n        uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;) })) (expression_statement "pcVar31 = (code *)0x198;" (assignment_expression "pcVar31 = (code *)0x198" identifier = (cast_expression "(code *)0x198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)(*pcStack_17c)(param_1);" (assignment_expression "puVar20 = (undefined4 *)(*pcStack_17c)(param_1)" identifier = (cast_expression "(undefined4 *)(*pcStack_17c)(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_17c)(param_1)" (parenthesized_expression "(*pcStack_17c)" ( (pointer_expression "*pcStack_17c" * identifier) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b1c;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar27 = *(code **)(puVar47 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96eec)" * (cast_expression "(code **)(puVar47 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96eec)" ( (binary_expression "puVar47 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(pcVar46 + 0x1c) = puVar20;" (assignment_expression "*(undefined4 **)(pcVar46 + 0x1c) = puVar20" (pointer_expression "*(undefined4 **)(pcVar46 + 0x1c)" * (cast_expression "(undefined4 **)(pcVar46 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x1c)" ( (binary_expression "pcVar46 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar46 + 0xc) = 0x400;" (assignment_expression "*(undefined2 *)(pcVar46 + 0xc) = 0x400" (pointer_expression "*(undefined2 *)(pcVar46 + 0xc)" * (cast_expression "(undefined2 *)(pcVar46 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);" (assignment_expression "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180)" identifier = (call_expression "(*pcVar27)(puVar20 + 6,0,0x180)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(puVar20 + 6,0,0x180)" ( (binary_expression "puVar20 + 6" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "uVar9 = *(undefined4 *)pcVar22;" (assignment_expression "uVar9 = *(undefined4 *)pcVar22" identifier = (pointer_expression "*(undefined4 *)pcVar22" * (cast_expression "(undefined4 *)pcVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 9)" * (cast_expression "(undefined1 *)((int)puVar20 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 9)" ( (binary_expression "(int)puVar20 + 9" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar20 = uVar9;" (assignment_expression "*puVar20 = uVar9" (pointer_expression "*puVar20" * identifier) = identifier) ;) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[3] = 0;" (assignment_expression "puVar20[3] = 0" (subscript_expression "puVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[4] = 8;" (assignment_expression "puVar20[4] = 8" (subscript_expression "puVar20[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[5] = uVar8;" (assignment_expression "puVar20[5] = uVar8" (subscript_expression "puVar20[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);" (call_expression "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(puVar20,*(undefined4 *)pcVar46,0x2c)" ( identifier , (pointer_expression "*(undefined4 *)pcVar46" * (cast_expression "(undefined4 *)pcVar46" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "pcVar27 = (code *)(puVar20[3] + -1);" (assignment_expression "pcVar27 = (code *)(puVar20[3] + -1)" identifier = (cast_expression "(code *)(puVar20[3] + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20[3] + -1)" ( (binary_expression "puVar20[3] + -1" (subscript_expression "puVar20[3]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (if_statement "if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" if (parenthesized_expression "(-1 < (int)pcVar27)" ( (binary_expression "-1 < (int)pcVar27" number_literal < (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" { (do_statement "do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);" do (compound_statement "{\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        }" { (expression_statement "pcVar48 = pcVar27 + -1;" (assignment_expression "pcVar48 = pcVar27 + -1" identifier = (binary_expression "pcVar27 + -1" identifier + number_literal)) ;) (expression_statement "(*pcStack_190)(pcVar26,puVar20,pcVar27);" (call_expression "(*pcStack_190)(pcVar26,puVar20,pcVar27)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,puVar20,pcVar27)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar48;" (assignment_expression "pcVar27 = pcVar48" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar48 != pcVar38)" ( (binary_expression "pcVar48 != pcVar38" identifier != identifier) )) ;) })) (expression_statement "puVar20[1] = pcVar22;" (assignment_expression "puVar20[1] = pcVar22" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" { (if_statement "if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;) })) (labeled_statement "LAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" identifier = identifier) ;) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" identifier = identifier) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) (expression_statement "pcVar37 = (code *)puVar20[3];" (assignment_expression "pcVar37 = (code *)puVar20[3]" identifier = (cast_expression "(code *)puVar20[3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[3]" identifier [ number_literal ]))) ;) (expression_statement "pcVar31 = (code *)puVar20[5];" (assignment_expression "pcVar31 = (code *)puVar20[5]" identifier = (cast_expression "(code *)puVar20[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[5]" identifier [ number_literal ]))) ;) (if_statement "if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" if (parenthesized_expression "((int)pcVar37 < 1)" ( (binary_expression "(int)pcVar37 < 1" (cast_expression "(int)pcVar37" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" { (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c7130;" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7130;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;) })) (expression_statement "pcVar48 = (code *)0x0;" (assignment_expression "pcVar48 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t3 = (code *)0x0;" (assignment_expression "in_t3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t5 = (code *)0x40;" (assignment_expression "in_t5 = (code *)0x40" identifier = (cast_expression "(code *)0x40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (code *)0x1f31;" (assignment_expression "in_t4 = (code *)0x1f31" identifier = (cast_expression "(code *)0x1f31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = pcStack_1a4;" (assignment_expression "in_t6 = pcStack_1a4" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (goto_statement "goto LAB_000c6d54;" goto statement_identifier ;) })) (expression_statement "uVar23 = *(ushort *)(pcVar46 + 10);" (assignment_expression "uVar23 = *(ushort *)(pcVar46 + 10)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) ))))) ;) (if_statement "if ((uVar23 & 8) != 0) goto LAB_000c5b24;" if (parenthesized_expression "((uVar23 & 8) != 0)" ( (binary_expression "(uVar23 & 8) != 0" (parenthesized_expression "(uVar23 & 8)" ( (binary_expression "uVar23 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;)) (expression_statement "pcVar31 = (code *)(uVar23 & 2);" (assignment_expression "pcVar31 = (code *)(uVar23 & 2)" identifier = (cast_expression "(code *)(uVar23 & 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )))) ;) (expression_statement "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);" (assignment_expression "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec)" identifier = (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) ))))) ;) (if_statement "if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" if (parenthesized_expression "((int)uVar18 < 1)" ( (binary_expression "(int)uVar18 < 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar34 = 0;\n      uVar21 = 0;\n    }" { (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" else (compound_statement "{\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" { (expression_statement "in_t2 = *(code **)(pcStack_1a4 + 0x1f0);" (assignment_expression "in_t2 = *(code **)(pcStack_1a4 + 0x1f0)" identifier = (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" * (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a4 + 0x1f0)" ( (binary_expression "pcStack_1a4 + 0x1f0" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" if (parenthesized_expression "(*(code **)(pcVar46 + 0x14) == in_t2)" ( (binary_expression "*(code **)(pcVar46 + 0x14) == in_t2" (pointer_expression "*(code **)(pcVar46 + 0x14)" * (cast_expression "(code **)(pcVar46 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x14)" ( (binary_expression "pcVar46 + 0x14" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n        uVar21 = 0;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" else (compound_statement "{\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);" do (compound_statement "{\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" if (parenthesized_expression "(uVar21 == uVar18)" ( (binary_expression "uVar21 == uVar18" identifier == identifier) )) (compound_statement "{\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c6208;" goto statement_identifier ;) })) (expression_statement "pcVar48 = *(code **)pcVar27;" (assignment_expression "pcVar48 = *(code **)pcVar27" identifier = (pointer_expression "*(code **)pcVar27" * (cast_expression "(code **)pcVar27" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" identifier = (binary_expression "pcVar27 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(code **)(pcVar46 + 0x14) != pcVar48)" ( (binary_expression "*(code **)(pcVar46 + 0x14) != pcVar48" (pointer_expression "*(code **)(pcVar46 + 0x14)" * (cast_expression "(code **)(pcVar46 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x14)" ( (binary_expression "pcVar46 + 0x14" identifier + number_literal) )))) != identifier) )) ;) }))) (expression_statement "uVar11 = 1 << (uVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (uVar21 & 0x1f)" identifier = (binary_expression "1 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }" { (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = uVar11;" (assignment_expression "uVar21 = uVar11" identifier = identifier) ;) }) (else_clause "else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" else (compound_statement "{\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = uVar11;" (assignment_expression "uVar34 = uVar11" identifier = identifier) ;) }))) (labeled_statement "LAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" statement_identifier : (if_statement "if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" if (parenthesized_expression "((uVar23 & 2) != 0)" ( (binary_expression "(uVar23 & 2) != 0" (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" { (expression_statement "pcVar31 = *(code **)(pcVar46 + 0x10);" (assignment_expression "pcVar31 = *(code **)(pcVar46 + 0x10)" identifier = (pointer_expression "*(code **)(pcVar46 + 0x10)" * (cast_expression "(code **)(pcVar46 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x10)" ( (binary_expression "pcVar46 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);" (assignment_expression "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" identifier = (pointer_expression "*(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" * (cast_expression "(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" ( (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14" (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30" (pointer_expression "*(int *)(pcVar43 + 0x14)" * (cast_expression "(int *)(pcVar43 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar31 * 0x30" (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" if (parenthesized_expression "(pcVar37 != in_t2)" ( (binary_expression "pcVar37 != in_t2" identifier != identifier) )) (compound_statement "{\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);" do (compound_statement "{\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          }" { (expression_statement "uVar11 = uVar4;" (assignment_expression "uVar11 = uVar4" identifier = identifier) ;) (if_statement "if (uVar11 == uVar18) goto LAB_000c6210;" if (parenthesized_expression "(uVar11 == uVar18)" ( (binary_expression "uVar11 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_000c6210;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)pcVar27;" (assignment_expression "pcVar31 = *(code **)pcVar27" identifier = (pointer_expression "*(code **)pcVar27" * (cast_expression "(code **)pcVar27" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar4 = uVar11 + 1;" (assignment_expression "uVar4 = uVar11 + 1" identifier = (binary_expression "uVar11 + 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 "(pcVar31 != pcVar37)" ( (binary_expression "pcVar31 != pcVar37" identifier != identifier) )) ;) })) (expression_statement "uVar18 = 1 << (uVar11 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar11 & 0x1f)" identifier = (binary_expression "1 << (uVar11 & 0x1f)" number_literal << (parenthesized_expression "(uVar11 & 0x1f)" ( (binary_expression "uVar11 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" if (parenthesized_expression "((uVar11 & 0x20) == 0)" ( (binary_expression "(uVar11 & 0x20) == 0" (parenthesized_expression "(uVar11 & 0x20)" ( (binary_expression "uVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar11 = 0;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" { (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar21 = uVar21 | uVar18;" (assignment_expression "uVar21 = uVar21 | uVar18" identifier = (binary_expression "uVar21 | uVar18" identifier | identifier)) ;) (expression_statement "uVar34 = uVar34 | uVar11;" (assignment_expression "uVar34 = uVar34 | uVar11" identifier = (binary_expression "uVar34 | uVar11" identifier | identifier)) ;) }))) }))) (labeled_statement "LAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" statement_identifier : (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & uVar34)" identifier = (cast_expression "(code *)((uint)pcStack_188 & uVar34)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_188 & uVar34)" ( (binary_expression "(uint)pcStack_188 & uVar34" (cast_expression "(uint)pcStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;)) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & uVar21);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & uVar21)" identifier = (cast_expression "(code *)((uint)pcStack_184 & uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_184 & uVar21)" ( (binary_expression "(uint)pcStack_184 & uVar21" (cast_expression "(uint)pcStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" if (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 2) == 0)" ( (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 2) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 2)" ( (binary_expression "*(ushort *)(pcVar46 + 0xc) & 2" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" else (compound_statement "{\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" { (expression_statement "uVar13 = uVar13 & uVar34;" (assignment_expression "uVar13 = uVar13 & uVar34" identifier = (binary_expression "uVar13 & uVar34" identifier & identifier)) ;) (expression_statement "param_5 = (code *)((uint)param_5 & uVar21);" (assignment_expression "param_5 = (code *)((uint)param_5 & uVar21)" identifier = (cast_expression "(code *)((uint)param_5 & uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_5 & uVar21)" ( (binary_expression "(uint)param_5 & uVar21" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) }))) })) (labeled_statement "LAB_000c5b30:\n  pcStack_18c = (code *)uVar50;" statement_identifier : (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*(code **)(pcVar43 + 0x198) = pcStack_188;" (assignment_expression "*(code **)(pcVar43 + 0x198) = pcStack_188" (pointer_expression "*(code **)(pcVar43 + 0x198)" * (cast_expression "(code **)(pcVar43 + 0x198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar43 + 0x19c) = pcStack_184;" (assignment_expression "*(code **)(pcVar43 + 0x19c) = pcStack_184" (pointer_expression "*(code **)(pcVar43 + 0x19c)" * (cast_expression "(code **)(pcVar43 + 0x19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;" if (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" ( (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcStack_184 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;)) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(pcVar43 + 0xc) == 2)" ( (binary_expression "*(int *)(pcVar43 + 0xc) == 2" (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);" statement_identifier : (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x14)" * (cast_expression "(int **)(pcVar43 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" 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)) ;) (labeled_statement "LAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);" statement_identifier : (expression_statement "uVar49 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar49 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;)) (expression_statement "uVar53 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar53 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;) (expression_statement "pcStack_18c = pcVar27 + 1;" (assignment_expression "pcStack_18c = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" identifier = identifier) ;) (if_statement "if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" if (parenthesized_expression "(*(short *)(piVar41 + 3) == 0x400)" ( (binary_expression "*(short *)(piVar41 + 3) == 0x400" (pointer_expression "*(short *)(piVar41 + 3)" * (cast_expression "(short *)(piVar41 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 3)" ( (binary_expression "piVar41 + 3" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }" { (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;" if (parenthesized_expression "((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0))" ( (binary_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" (parenthesized_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27)" ( (binary_expression "*(int *)(piVar41[7] + 0xc) <= (int)pcVar27" (pointer_expression "*(int *)(piVar41[7] + 0xc)" * (cast_expression "(int *)(piVar41[7] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[7] + 0xc)" ( (binary_expression "piVar41[7] + 0xc" (subscript_expression "piVar41[7]" identifier [ number_literal ]) + number_literal) )))) <= (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" ( (comma_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" identifier = (cast_expression "(int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" ( (binary_expression "*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30" (pointer_expression "*(int *)(piVar41[7] + 0x14)" * (cast_expression "(int *)(piVar41[7] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[7] + 0x14)" ( (binary_expression "piVar41[7] + 0x14" (subscript_expression "piVar41[7]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "(int)pcVar27 * 0x30" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) , (comma_expression "uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "uVar50 = uVar49" identifier = identifier) , (binary_expression "piVar44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }) (else_clause "else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" else (compound_statement "{\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" { (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (if_statement "if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }))) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96dac);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96dac)" * (cast_expression "(code **)(puVar47 + 0x96dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" identifier = (pointer_expression "*(short *)(piVar41 + 0xf)" * (cast_expression "(short *)(piVar41 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xf)" ( (binary_expression "piVar41 + 0xf" identifier + number_literal) ))))) ;) (expression_statement "pcStack_184 = pcVar42 + 0x4ac8;" (assignment_expression "pcStack_184 = pcVar42 + 0x4ac8" identifier = (binary_expression "pcVar42 + 0x4ac8" identifier + number_literal)) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );" do (compound_statement "{\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    }" { (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" identifier = identifier) ;) (if_statement "if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" if (parenthesized_expression "(sVar28 == 0x400)" ( (binary_expression "sVar28 == 0x400" identifier == number_literal) )) (compound_statement "{\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }" { (if_statement "if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;" if (parenthesized_expression "(*(int *)(piVar41[0x13] + 0xc) <= iVar32)" ( (binary_expression "*(int *)(piVar41[0x13] + 0xc) <= iVar32" (pointer_expression "*(int *)(piVar41[0x13] + 0xc)" * (cast_expression "(int *)(piVar41[0x13] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[0x13] + 0xc)" ( (binary_expression "piVar41[0x13] + 0xc" (subscript_expression "piVar41[0x13]" identifier [ number_literal ]) + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(piVar41[0x13] + 0x14)" * (cast_expression "(int *)(piVar41[0x13] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[0x13] + 0x14)" ( (binary_expression "piVar41[0x13] + 0x14" (subscript_expression "piVar41[0x13]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) }) (else_clause "else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" else (compound_statement "{\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" { (expression_statement "pcVar38 = (code *)(piVar41 + 0xc);" (assignment_expression "pcVar38 = (code *)(piVar41 + 0xc)" identifier = (cast_expression "(code *)(piVar41 + 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xc)" ( (binary_expression "piVar41 + 0xc" identifier + number_literal) )))) ;) (if_statement "if (iVar32 != 0) goto LAB_000c6e8c;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) }))) (if_statement "if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;" if (parenthesized_expression "(pcVar38 == (code *)0x0)" ( (binary_expression "pcVar38 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "uVar23 = *(ushort *)(piVar44 + 3);" (assignment_expression "uVar23 = *(ushort *)(piVar44 + 3)" identifier = (pointer_expression "*(ushort *)(piVar44 + 3)" * (cast_expression "(ushort *)(piVar44 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar44 + 3)" ( (binary_expression "piVar44 + 3" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" identifier = (cast_expression "(code *)(uint)uVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" if (parenthesized_expression "(((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0))" ( (binary_expression "((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" (parenthesized_expression "((uVar23 & 0x3e) != 0)" ( (binary_expression "(uVar23 & 0x3e) != 0" (parenthesized_expression "(uVar23 & 0x3e)" ( (binary_expression "uVar23 & 0x3e" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" ( (binary_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0" (parenthesized_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e)" ( (binary_expression "*(ushort *)(pcVar38 + 0xc) & 0x3e" (pointer_expression "*(ushort *)(pcVar38 + 0xc)" * (cast_expression "(ushort *)(pcVar38 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xc)" ( (binary_expression "pcVar38 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" { (expression_statement "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);" (assignment_expression "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc)" identifier = (binary_expression "uVar23 | *(ushort *)(pcVar38 + 0xc)" identifier | (pointer_expression "*(ushort *)(pcVar38 + 0xc)" * (cast_expression "(ushort *)(pcVar38 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xc)" ( (binary_expression "pcVar38 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" identifier = (cast_expression "(code *)(uint)uVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" if (parenthesized_expression "((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26)))" ( (binary_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))" (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a))" ( (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x1a)" identifier == (cast_expression "(code *)((uint)pcVar42 & 0x1a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcVar42 & 0x1a)" ( (binary_expression "(uint)pcVar42 & 0x1a" (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) )) || (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x26))" ( (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x26)" identifier == (cast_expression "(code *)((uint)pcVar42 & 0x26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcVar42 & 0x26)" ( (binary_expression "(uint)pcVar42 & 0x26" (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ))) )) (compound_statement "{\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" identifier = (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" (parenthesized_expression "(*pcStack_188)" ( (pointer_expression "*pcStack_188" * identifier) )) (argument_list "(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar44 + 0xc)" * (cast_expression "(undefined4 *)(*piVar44 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0xc)" ( (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0xc)" * (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar38 + 0xc)" ( (binary_expression "*(int *)pcVar38 + 0xc" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) )))) ;) (if_statement "if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" identifier = (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" (parenthesized_expression "(*pcStack_188)" ( (pointer_expression "*pcStack_188" * identifier) )) (argument_list "(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar44 + 0x10)" * (cast_expression "(undefined4 *)(*piVar44 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0x10)" ( (binary_expression "*piVar44 + 0x10" (pointer_expression "*piVar44" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0x10)" * (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar38 + 0x10)" ( (binary_expression "*(int *)pcVar38 + 0x10" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) )))) ;) (if_statement "if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" { (if_statement "if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }" if (parenthesized_expression "((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0))" ( (binary_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" (parenthesized_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0)" ( (binary_expression "((uint)(pcVar42 + -1) & (uint)pcVar42) != 0" (parenthesized_expression "((uint)(pcVar42 + -1) & (uint)pcVar42)" ( (binary_expression "(uint)(pcVar42 + -1) & (uint)pcVar42" (call_expression "(uint)(pcVar42 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar42 + -1)" ( (binary_expression "pcVar42 + -1" identifier + number_literal) ))) & (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) )) && (parenthesized_expression "(pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" ( (comma_expression "pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0" (assignment_expression "pcVar42 = (code *)&DAT_00000020" identifier = (cast_expression "(code *)&DAT_00000020" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000020" & identifier))) , (binary_expression "(uVar23 & 0x18) != 0" (parenthesized_expression "(uVar23 & 0x18)" ( (binary_expression "uVar23 & 0x18" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                pcVar42 = (code *)&DAT_00000008;\n              }" { (expression_statement "pcVar42 = (code *)&DAT_00000008;" (assignment_expression "pcVar42 = (code *)&DAT_00000008" identifier = (cast_expression "(code *)&DAT_00000008" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" if (parenthesized_expression "((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0))" ( (binary_expression "(*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) && (parenthesized_expression "(puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" ( (comma_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0" (assignment_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" identifier = (cast_expression "(undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (parenthesized_expression "(*pcStack_17c)" ( (pointer_expression "*pcStack_17c" * identifier) )) (argument_list "(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" ( (pointer_expression "*(undefined4 *)**(undefined4 **)pcVar22" * (cast_expression "(undefined4 *)**(undefined4 **)pcVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)pcVar22" * (pointer_expression "*(undefined4 **)pcVar22" * (cast_expression "(undefined4 **)pcVar22" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))))) , (pointer_expression "*piVar44" * identifier) , number_literal ))))) , (binary_expression "puVar12 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" { (expression_statement "uVar25 = 0x35;" (assignment_expression "uVar25 = 0x35" identifier = number_literal) ;) (if_statement "if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" if (parenthesized_expression "(pcVar42 != (code *)&SUB_00000002)" ( (binary_expression "pcVar42 != (code *)&SUB_00000002" identifier != (cast_expression "(code *)&SUB_00000002" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) )) (compound_statement "{\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" { (expression_statement "iVar39 = 0x35;" (assignment_expression "iVar39 = 0x35" identifier = number_literal) ;) (do_statement "do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));" do (compound_statement "{\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  }" { (expression_statement "uVar18 = iVar39 - 0x34;" (assignment_expression "uVar18 = iVar39 - 0x34" identifier = (binary_expression "iVar39 - 0x34" identifier - number_literal)) ;) (expression_statement "iVar39 = iVar39 + 1;" (assignment_expression "iVar39 = iVar39 + 1" identifier = (binary_expression "iVar39 + 1" identifier + number_literal)) ;) (expression_statement "uVar25 = (undefined1)iVar39;" (assignment_expression "uVar25 = (undefined1)iVar39" identifier = (cast_expression "(undefined1)iVar39" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(pcVar42 != (code *)(2 << (uVar18 & 0x1f)))" ( (binary_expression "pcVar42 != (code *)(2 << (uVar18 & 0x1f))" identifier != (cast_expression "(code *)(2 << (uVar18 & 0x1f))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(2 << (uVar18 & 0x1f))" ( (binary_expression "2 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) )))) )) ;) })) (expression_statement "*puVar12 = uVar25;" (assignment_expression "*puVar12 = uVar25" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "uVar8 = (*pcStack_174)(pcVar22,puVar12,3);" (assignment_expression "uVar8 = (*pcStack_174)(pcVar22,puVar12,3)" identifier = (call_expression "(*pcStack_174)(pcVar22,puVar12,3)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pcVar22,puVar12,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*pcStack_184)(pcVar26,pcVar22,uVar8);" (call_expression "(*pcStack_184)(pcVar26,pcVar22,uVar8)" (parenthesized_expression "(*pcStack_184)" ( (pointer_expression "*pcStack_184" * identifier) )) (argument_list "(pcVar26,pcVar22,uVar8)" ( identifier , identifier , identifier ))) ;) })) })) })) (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x14)" * (cast_expression "(int **)(pcVar43 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" identifier = (pointer_expression "*(short *)(piVar41 + 0xf)" * (cast_expression "(short *)(piVar41 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xf)" ( (binary_expression "piVar41 + 0xf" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;) (labeled_statement "LAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" statement_identifier : (expression_statement "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" (assignment_expression "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar38)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar38)" ( identifier , identifier )))) ;)) (if_statement "if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" if (parenthesized_expression "((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0))" ( (binary_expression "(pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" ( (comma_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0" (assignment_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar27)" ( identifier , identifier )))) , (binary_expression "(uVar52 & uVar51) == 0" (parenthesized_expression "(uVar52 & uVar51)" ( (binary_expression "uVar52 & uVar51" identifier & identifier) )) == number_literal)) ))) )) (compound_statement "{\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" { (expression_statement "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);" (assignment_expression "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" identifier = (cast_expression "(code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" (parenthesized_expression "(*(pcStack_188 + -0x271c))" ( (pointer_expression "*(pcStack_188 + -0x271c)" * (parenthesized_expression "(pcStack_188 + -0x271c)" ( (binary_expression "pcStack_188 + -0x271c" identifier + number_literal) ))) )) (argument_list "(pcVar6,pcVar38,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) (labeled_statement "LAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" statement_identifier : (expression_statement "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" (assignment_expression "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" identifier = (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" ( (pointer_expression "*(code *)(iVar32 + 0x26b4)" * (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,0x2e,0)" ( identifier , number_literal , number_literal )))) ;)) (if_statement "if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" if (parenthesized_expression "(((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0))" ( (binary_expression "((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)" (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) != 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 1) != 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" ( (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" { (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar39 = (*pcStack_190)(pcVar22,iVar39,3);" (assignment_expression "iVar39 = (*pcStack_190)(pcVar22,iVar39,3)" identifier = (call_expression "(*pcStack_190)(pcVar22,iVar39,3)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar22,iVar39,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar39 = iVar39 * 0x30;" (assignment_expression "iVar39 = iVar39 * 0x30" identifier = (binary_expression "iVar39 * 0x30" identifier * number_literal)) ;) (expression_statement "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;" (assignment_expression "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39" identifier = (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(ulonglong *)(iVar29 + 0x20) = uVar51;" (assignment_expression "*(ulonglong *)(iVar29 + 0x20) = uVar51" (pointer_expression "*(ulonglong *)(iVar29 + 0x20)" * (cast_expression "(ulonglong *)(iVar29 + 0x20)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x20)" ( (binary_expression "iVar29 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x14)" * (cast_expression "(undefined4 *)(iVar29 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x14)" ( (binary_expression "iVar29 + 0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pcVar27 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar27 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1c)" ( (binary_expression "pcVar27 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pcVar27 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar27 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pcVar27 + 0x20)" * (cast_expression "(undefined4 *)(pcVar27 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x20)" ( (binary_expression "pcVar27 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0xc) = 0x40;" (assignment_expression "*(undefined2 *)(iVar29 + 0xc) = 0x40" (pointer_expression "*(undefined2 *)(iVar29 + 0xc)" * (cast_expression "(undefined2 *)(iVar29 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x1c)" * (cast_expression "(undefined4 *)(iVar29 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar29 + 0xf) = (char)pcStack_18c;" (assignment_expression "*(char *)(iVar29 + 0xf) = (char)pcStack_18c" (pointer_expression "*(char *)(iVar29 + 0xf)" * (cast_expression "(char *)(iVar29 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xf)" ( (binary_expression "iVar29 + 0xf" identifier + number_literal) )))) = (cast_expression "(char)pcStack_18c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pcVar43 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar43 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(pcVar43 + 0x28)" * (cast_expression "(undefined4 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x2c)" * (cast_expression "(undefined4 *)(iVar29 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pcVar43 + 0x2c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x2c)" ( (binary_expression "pcVar43 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x28) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x28) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x28)" * (cast_expression "(undefined4 *)(iVar29 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000c5d04;" goto statement_identifier ;) (labeled_statement "LAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000c5f04:\n  pcStack_18c = (code *)uVar50;" statement_identifier : (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)((int)pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)((int)pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcStack_18c + 0xc)" ( (binary_expression "(int)pcStack_18c + 0xc" (cast_expression "(int)pcStack_18c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (labeled_statement "LAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" statement_identifier : (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" identifier = identifier) ;) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" identifier = identifier) ;) (if_statement "if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(uVar13 != 0 || in_t4 != (code *)0x0)" ( (binary_expression "uVar13 != 0 || in_t4 != (code *)0x0" (binary_expression "uVar13 != 0" identifier != number_literal) || (binary_expression "in_t4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" { (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_5 = in_t4;" (assignment_expression "param_5 = in_t4" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" identifier = identifier) ;) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" identifier = identifier) ;) (labeled_statement "LAB_000c5b7c:\n    pcVar46 = pcStack_1a4;" statement_identifier : (expression_statement "pcVar46 = pcStack_1a4;" (assignment_expression "pcVar46 = pcStack_1a4" identifier = identifier) ;)) (expression_statement "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (labeled_statement "LAB_000c5bb0:\n    iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x14)" * (cast_expression "(int **)(pcVar27 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x14)" ( (binary_expression "pcVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = pcVar22;" (assignment_expression "pcStack_190 = pcVar22" identifier = identifier) ;) (if_statement "if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < iVar32)" ( (binary_expression "-1 < iVar32" number_literal < identifier) )) (compound_statement "{\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" { (expression_statement "in_t5 = (code *)0x1;" (assignment_expression "in_t5 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (code *)0xffffffff;" (assignment_expression "in_t4 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );" do (compound_statement "{\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      }" { (expression_statement "pcVar38 = (code *)piVar41[5];" (assignment_expression "pcVar38 = (code *)piVar41[5]" identifier = (cast_expression "(code *)piVar41[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[5]" identifier [ number_literal ]))) ;) (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" if (parenthesized_expression "((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)))" ( (binary_expression "(pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" (parenthesized_expression "(pcVar38 != pcVar31)" ( (binary_expression "pcVar38 != pcVar31" identifier != identifier) )) && (parenthesized_expression "(0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" ( (binary_expression "0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)" number_literal < (cast_expression "(int)*(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) )))))) ))) )) (compound_statement "{\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" { (if_statement "if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" if (parenthesized_expression "(pcVar38 == *(code **)(pcStack_1a4 + 0x1f0))" ( (binary_expression "pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)" identifier == (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" * (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a4 + 0x1f0)" ( (binary_expression "pcStack_1a4 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar18 = 0;\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" else (compound_statement "{\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar43 = pcStack_1a4 + 500;" (assignment_expression "pcVar43 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);" do (compound_statement "{\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;" if (parenthesized_expression "(uVar18 == *(uint *)(pcStack_1a4 + 0x1ec))" ( (binary_expression "uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)" identifier == (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c5c1c;" goto statement_identifier ;)) (expression_statement "pcVar48 = *(code **)pcVar43;" (assignment_expression "pcVar48 = *(code **)pcVar43" identifier = (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" identifier = (binary_expression "pcVar43 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar38 != pcVar48)" ( (binary_expression "pcVar38 != pcVar48" identifier != identifier) )) ;) }))) (expression_statement "uVar21 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar21 = 1 << (uVar18 & 0x1f)" identifier = (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" if (parenthesized_expression "((uVar18 & 0x20) == 0)" ( (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" ( (binary_expression "uVar18 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar18 = 0;\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" else (compound_statement "{\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" { (expression_statement "uVar18 = uVar21;" (assignment_expression "uVar18 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }))) (if_statement "if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;" if (parenthesized_expression "((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0)" ( (binary_expression "(uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0" (binary_expression "(uVar18 & uVar13) != 0" (parenthesized_expression "(uVar18 & uVar13)" ( (binary_expression "uVar18 & uVar13" identifier & identifier) )) != number_literal) || (binary_expression "(uVar21 & (uint)param_5) != 0" (parenthesized_expression "(uVar21 & (uint)param_5)" ( (binary_expression "uVar21 & (uint)param_5" identifier & (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal)) )) (goto_statement "goto code_r0x000c6748;" goto statement_identifier ;)) })) (labeled_statement "LAB_000c5c1c:\n        iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" identifier = (binary_expression "piVar41 + 0xc" identifier + number_literal)) ;) (if_statement "if (iVar32 == -1) break;" if (parenthesized_expression "(iVar32 == -1)" ( (binary_expression "iVar32 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);" statement_identifier : (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;)) (expression_statement "pcVar38 = pcVar27;" (assignment_expression "pcVar38 = pcVar27" identifier = identifier) ;) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" identifier = (call_expression "CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" identifier (argument_list "(pcVar37,*(int *)(pcVar22 + 0x14))" ( identifier , (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) )))) ;) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) (labeled_statement "LAB_000c5b24:\n  pcVar42 = pcVar42 + -1;" statement_identifier : (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;)) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" identifier = (binary_expression "pcVar46 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar42 == pcVar38) goto LAB_000c5b30;" if (parenthesized_expression "(pcVar42 == pcVar38)" ( (binary_expression "pcVar42 == pcVar38" identifier == identifier) )) (goto_statement "goto LAB_000c5b30;" goto statement_identifier ;)) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) (labeled_statement "code_r0x000c6748:\n  param_1 = (code *)piVar41[7];" statement_identifier : (expression_statement "param_1 = (code *)piVar41[7];" (assignment_expression "param_1 = (code *)piVar41[7]" identifier = (cast_expression "(code *)piVar41[7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[7]" identifier [ number_literal ]))) ;)) (expression_statement "pcStack_188 = *(code **)(*piVar41 + 0xc);" (assignment_expression "pcStack_188 = *(code **)(*piVar41 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar41 + 0xc)" * (cast_expression "(code **)(*piVar41 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (labeled_statement "LAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" statement_identifier : (if_statement "if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" if (parenthesized_expression "(param_1 == (code *)piVar41[7])" ( (binary_expression "param_1 == (code *)piVar41[7]" identifier == (cast_expression "(code *)piVar41[7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[7]" identifier [ number_literal ]))) )) (compound_statement "{\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" { (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" identifier = (pointer_expression "*piVar41" * identifier)) ;) (if_statement "if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" if (parenthesized_expression "(param_1 == (code *)&SUB_fffffffe)" ( (binary_expression "param_1 == (code *)&SUB_fffffffe" identifier == (cast_expression "(code *)&SUB_fffffffe" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_fffffffe" & identifier))) )) (compound_statement "{\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);" (assignment_expression "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" identifier = (call_expression "(*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" (parenthesized_expression "(*pcStack_184)" ( (pointer_expression "*pcStack_184" * identifier) )) (argument_list "(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" ( identifier , (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" * (cast_expression "(undefined4 *)(iVar39 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xc)" ( (binary_expression "iVar39 + 0xc" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar39 != 0) goto LAB_000c6790;" if (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6790;" goto statement_identifier ;)) (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" identifier = (pointer_expression "*piVar41" * identifier)) ;) })) (expression_statement "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));" (assignment_expression "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" identifier = (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" (parenthesized_expression "(*pcStack_18c)" ( (pointer_expression "*pcStack_18c" * identifier) )) (argument_list "(*(undefined4 *)(iVar39 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar39 + 0x10)" * (cast_expression "(undefined4 *)(iVar39 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x10)" ( (binary_expression "iVar39 + 0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));" (assignment_expression "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" identifier = (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" (parenthesized_expression "(*pcStack_18c)" ( (pointer_expression "*pcStack_18c" * identifier) )) (argument_list "(*(undefined4 *)(*piVar41 + 0xc))" ( (pointer_expression "*(undefined4 *)(*piVar41 + 0xc)" * (cast_expression "(undefined4 *)(*piVar41 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) )))) ))))) ;) (if_statement "if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" if (parenthesized_expression "((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43))" ( (binary_expression "(pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)" (parenthesized_expression "(pcStack_174 == (code *)0x0)" ( (binary_expression "pcStack_174 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcStack_174 == pcVar43)" ( (binary_expression "pcStack_174 == pcVar43" identifier == identifier) ))) )) (compound_statement "{\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" { (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (labeled_statement "LAB_000c6768:\n      iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = piVar44 + 0xc;" (assignment_expression "piVar41 = piVar44 + 0xc" identifier = (binary_expression "piVar44 + 0xc" identifier + number_literal)) ;) (if_statement "if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" if (parenthesized_expression "(iVar32 != -1)" ( (binary_expression "iVar32 != -1" identifier != number_literal) )) (compound_statement "{\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" { (if_statement "if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;" if (parenthesized_expression "(pcVar38 != (code *)piVar44[0x11])" ( (binary_expression "pcVar38 != (code *)piVar44[0x11]" identifier != (cast_expression "(code *)piVar44[0x11]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar44[0x11]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000c675c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6784;" goto statement_identifier ;) })) (expression_statement "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);" (assignment_expression "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1)" identifier = (cast_expression "(code *)(*(int *)(pcVar27 + 0xc) + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0xc) + -1)" ( (binary_expression "*(int *)(pcVar27 + 0xc) + -1" (pointer_expression "*(int *)(pcVar27 + 0xc)" * (cast_expression "(int *)(pcVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xc)" ( (binary_expression "pcVar27 + 0xc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x14)" * (cast_expression "(int **)(pcVar27 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x14)" ( (binary_expression "pcVar27 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" if (parenthesized_expression "((int)param_5 < 0)" ( (binary_expression "(int)param_5 < 0" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_180,0x31,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (if_statement "if (iVar32 == 0) goto LAB_000c5c2c;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" else (compound_statement "{\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + -0x52c)" ( (binary_expression "*(int *)(puVar47 + 0x96c48) + -0x52c" (pointer_expression "*(int *)(puVar47 + 0x96c48)" * (cast_expression "(int *)(puVar47 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c48)" ( (binary_expression "puVar47 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);" do (compound_statement "{\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        }" { (if_statement "if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" if (parenthesized_expression "((*(ushort *)((int)piVar41 + 10) & 0x40) != 0)" ( (binary_expression "(*(ushort *)((int)piVar41 + 10) & 0x40) != 0" (parenthesized_expression "(*(ushort *)((int)piVar41 + 10) & 0x40)" ( (binary_expression "*(ushort *)((int)piVar41 + 10) & 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" { (expression_statement "iVar32 = *(int *)(*piVar41 + 0x10);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0x10)" identifier = (pointer_expression "*(int *)(*piVar41 + 0x10)" * (cast_expression "(int *)(*piVar41 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0x10)" ( (binary_expression "*piVar41 + 0x10" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" { (expression_statement "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" identifier = (call_expression "(*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcStack_17c,iVar32,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pcStack_1a4 = pcVar38;" (assignment_expression "pcStack_1a4 = pcVar38" identifier = identifier) ;) })) (expression_statement "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);" (assignment_expression "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" identifier = (cast_expression "(code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(**(undefined4 **)pcVar46,pcVar38,iVar32)" ( (pointer_expression "**(undefined4 **)pcVar46" * (pointer_expression "*(undefined4 **)pcVar46" * (cast_expression "(undefined4 **)pcVar46" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) , identifier , identifier ))))) ;) (expression_statement "iVar32 = *(int *)(*piVar41 + 0xc);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0xc)" identifier = (pointer_expression "*(int *)(*piVar41 + 0xc)" * (cast_expression "(int *)(*piVar41 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) })) (expression_statement "param_5 = param_5 + -1;" (assignment_expression "param_5 = param_5 + -1" identifier = (binary_expression "param_5 + -1" identifier + number_literal)) ;) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" identifier = (binary_expression "piVar41 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != (code *)0xffffffff)" ( (binary_expression "param_5 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_17c,iVar32,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_180,0x31,iVar32)" ( identifier , number_literal , identifier )))) ;) (expression_statement "param_5 = pcVar22;" (assignment_expression "param_5 = pcVar22" identifier = identifier) ;) (if_statement "if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" { (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (if_statement "if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" if (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" { (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7d30" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_17c,pcVar38)" ( identifier , identifier ))) ;) })) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);" (assignment_expression "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1)" identifier = (cast_expression "(code *)(*(uint *)(iStack_178 + 4) & 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(iStack_178 + 4) & 1)" ( (binary_expression "*(uint *)(iStack_178 + 4) & 1" (pointer_expression "*(uint *)(iStack_178 + 4)" * (cast_expression "(uint *)(iStack_178 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_178 + 4)" ( (binary_expression "iStack_178 + 4" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) | (cast_expression "(uint)pcVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar3 = *(undefined2 *)(iStack_178 + 0x26);" (assignment_expression "uVar3 = *(undefined2 *)(iStack_178 + 0x26)" identifier = (pointer_expression "*(undefined2 *)(iStack_178 + 0x26)" * (cast_expression "(undefined2 *)(iStack_178 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_178 + 0x26)" ( (binary_expression "iStack_178 + 0x26" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar32 + 0x14) = pcVar38;" (assignment_expression "*(code **)(iVar32 + 0x14) = pcVar38" (pointer_expression "*(code **)(iVar32 + 0x14)" * (cast_expression "(code **)(iVar32 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = uVar3;" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = uVar3" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" * (cast_expression "(undefined2 *)(iVar32 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26)" ( (binary_expression "iVar32 + 0x26" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,iVar32,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar32);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar32)" identifier (argument_list "(pcVar26,pcVar22,iVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) (expression_statement "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar27 + 8)" * (cast_expression "(undefined2 *)(pcVar27 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 8)" ( (binary_expression "pcVar27 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" statement_identifier : (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;))) (expression_statement "iVar32 = *(int *)(pcVar27 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar27 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar27 + 0xc)" * (cast_expression "(int *)(pcVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xc)" ( (binary_expression "pcVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = (code *)0x1;" (assignment_expression "pcVar42 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar31 = pcVar38;" (assignment_expression "pcVar31 = pcVar38" identifier = identifier) ;) (goto_statement "goto LAB_000c5bb0;" goto statement_identifier ;) (labeled_statement "LAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" statement_identifier : (expression_statement "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" * (cast_expression "(ushort *)((int)piVar44 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar44 + 0x3a)" ( (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" * (cast_expression "(ushort *)((int)piVar44 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar44 + 0x3a)" ( (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;)) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (goto_statement "goto LAB_000c6768;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* DWARF original prototype: void exprCodeBetween(Parse * pParse, Expr * pExpr, int dest,\n   _func_void_Parse_ptr_Expr_ptr_int_int * xJump, int jumpIfNull, Expr * pExpr) */\n\nvoid exprCodeBetween(Parse *pParse,Expr *pExpr,int dest,_func_void_Parse_ptr_Expr_ptr_int_int *xJump\n                    ,int jumpIfNull,Expr *pExpr_1)\n\n{\n  byte bVar1;\n  Bitmask BVar2;\n  Expr **ppEVar3;\n  WhereInfo **ppWVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  int in_zero;\n  int iVar7;\n  int *piVar8;\n  WhereInfo *pWVar9;\n  ushort uVar17;\n  byte *pbVar10;\n  byte bVar18;\n  undefined4 uVar11;\n  char cVar19;\n  u8 uVar20;\n  WhereClause *pWVar12;\n  sqlite3 *psVar13;\n  undefined4 uVar14;\n  int iVar15;\n  uint uVar16;\n  WhereInfo *pParse_00;\n  uint uVar21;\n  ushort uVar26;\n  int iVar22;\n  Expr *pEVar23;\n  VTable *pVVar24;\n  uint uVar25;\n  undefined1 uVar27;\n  Parse *pPVar28;\n  WhereInfo *pWVar29;\n  ynVar yVar30;\n  short sVar31;\n  WhereInfo *pWC;\n  uint uVar32;\n  int iVar33;\n  WhereInfo *pWVar34;\n  undefined4 in_t0;\n  WhereTerm *pWVar35;\n  WhereInfo *pWVar36;\n  ExprList *pEVar37;\n  uint uVar38;\n  undefined4 in_t1;\n  char *pcVar39;\n  char *pcVar40;\n  WhereInfo *pWVar41;\n  WhereInfo *in_t2;\n  WhereInfo *in_t3;\n  WhereInfo *in_t4;\n  WhereInfo *in_t5;\n  WhereInfo *in_t6;\n  WhereInfo *pWVar42;\n  code *pcVar43;\n  WhereInfo *pWVar44;\n  int iVar45;\n  Expr *pEVar46;\n  int *piVar47;\n  int *piVar48;\n  WhereInfo *pWVar49;\n  sqlite3 *psVar50;\n  ExprList_item *pEVar51;\n  WhereInfo *pWVar52;\n  sqlite3 *psVar53;\n  bool bVar54;\n  undefined1 *puVar55;\n  WhereInfo *pWVar56;\n  undefined *puVar57;\n  _func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n  *p_Var58;\n  code *pcVar59;\n  undefined8 uVar60;\n  Bitmask BVar61;\n  ulonglong uVar62;\n  ulonglong uVar63;\n  Bitmask BVar64;\n  WhereInfo *pWVar65;\n  WhereInfo *pWVar66;\n  WhereMaskSet *pWStack_1b8;\n  code *pcStack_1b0;\n  WhereInfo *pWStack_1a4;\n  WhereInfo *pWStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  WhereInfo *pWStack_190;\n  WhereInfo *pWStack_18c;\n  WhereInfo *pWStack_188;\n  Bitmask *pBStack_184;\n  Parse *pPStack_180;\n  sqlite3 *psStack_17c;\n  WhereInfo *pWStack_178;\n  code *pcStack_174;\n  void *pvStack_164;\n  Parse *pPStack_160;\n  anon_union_4_3_737c4e49_for_u aStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  ExprList *pEStack_154;\n  Expr *pEStack_150;\n  Expr *pEStack_14c;\n  WhereInfo *pWStack_148;\n  WhereInfo *pWStack_144;\n  Parse *pPStack_140;\n  undefined *puStack_13c;\n  _func_void_Parse_ptr_Expr_ptr_int_int *p_Stack_138;\n  int iStack_134;\n  int iStack_130;\n  WhereLoop *pWStack_12c;\n  Expr *pEStack_120;\n  int regFree1;\n  Expr exprAnd;\n  Expr compLeft;\n  Expr compRight;\n  Expr exprX;\n  \n  pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c;\n  pWVar49 = (WhereInfo *)&exprAnd;\n  regFree1 = 0;\n  compLeft.op = '\0';\n  compLeft.affinity = '\0';\n  compLeft._2_2_ = 0;\n  compLeft.flags = 0;\n  compLeft.u.zToken = (char *)0x0;\n  compLeft.pLeft = (Expr *)0x0;\n  compLeft.pRight = (Expr *)0x0;\n  compLeft.x.pList = (ExprList *)0x0;\n  compLeft.nHeight = 0;\n  compLeft.iTable = 0;\n  compLeft.iColumn = 0;\n  compLeft.iAgg = 0;\n  compLeft.iRightJoinTable = 0;\n  compLeft.op2 = '\0';\n  compLeft._41_3_ = 0;\n  compLeft.pAggInfo = (AggInfo *)0x0;\n  compLeft.y.pTab = (Table *)0x0;\n  compLeft.y.sub.regReturn = 0;\n  compRight.op = '\0';\n  compRight.affinity = '\0';\n  compRight._2_2_ = 0;\n  iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  compRight.flags = 0;\n  exprAnd.op = '\0';\n  exprAnd.affinity = '\0';\n  exprAnd._2_2_ = 0;\n  compRight.u.zToken = (char *)0x0;\n  compRight.pLeft = (Expr *)0x0;\n  compRight.pRight = (Expr *)0x0;\n  compRight.x.pList = (ExprList *)0x0;\n  compRight.nHeight = 0;\n  compRight.iTable = 0;\n  compRight.iColumn = 0;\n  compRight.iAgg = 0;\n  compRight.iRightJoinTable = 0;\n  compRight.op2 = '\0';\n  compRight._41_3_ = 0;\n  compRight.pAggInfo = (AggInfo *)0x0;\n  compRight.y.pTab = (Table *)0x0;\n  compRight.y.sub.regReturn = 0;\n  exprAnd.flags = 0;\n  exprAnd.u.zToken = (char *)0x0;\n  exprAnd.pLeft = (Expr *)0x0;\n  exprAnd.pRight = (Expr *)0x0;\n  exprAnd.x.pList = (ExprList *)0x0;\n  exprAnd.nHeight = 0;\n  exprAnd.iTable = 0;\n  exprAnd.iColumn = 0;\n  exprAnd.iAgg = 0;\n  exprAnd.iRightJoinTable = 0;\n  exprAnd.op2 = '\0';\n  exprAnd._41_3_ = 0;\n  exprAnd.pAggInfo = (AggInfo *)0x0;\n  exprAnd.y.pTab = (Table *)0x0;\n  exprAnd.y.sub.regReturn = 0;\n  uVar11._0_1_ = pExpr->op;\n  uVar11._1_1_ = pExpr->affinity;\n  uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2;\n  pWVar34 = (WhereInfo *)xJump;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11);\n  exprAnd.op = 0x2c;\n  compLeft.op = 0x39;\n  compRight.op = 0x37;\n  compLeft.pRight = *(Expr **)(*(int *)dest + 4);\n  compRight.pRight = *(Expr **)(*(int *)dest + 0x18);\n  exprAnd.pLeft = &compLeft;\n  exprAnd.pRight = &compRight;\n  compLeft.pLeft = &exprX;\n  compRight.pLeft = &exprX;\n  exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1);\n  exprX.op2 = exprX.op;\n  exprX.flags = exprX.flags & 0xffffefff;\n  exprX.op = 0xa4;\n  pPVar28 = pParse;\n  pEVar46 = (Expr *)xJump;\n  if (jumpIfNull == 0) {\n    exprX.flags = exprX.flags | 1;\n    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);\n  }\n  else {\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }\n  pWC = (WhereInfo *)regFree1;\n  if (regFree1 != 0) {\n    pPVar28 = pParse;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (iVar7 == *(int *)pWVar29) {\n    return;\n  }\n  pcVar59 = exprAnalyze;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar8 = *(int **)(puVar57 + 0x96f64);\n  iStack_134 = jumpIfNull;\n  puStack_13c = (undefined *)pWVar29;\n  pWVar42 = (WhereInfo *)pWC->pParse;\n  pEStack_154 = (ExprList *)*piVar8;\n  pParse_00 = (WhereInfo *)pWVar42->pParse;\n  pWVar9 = (WhereInfo *)pParse_00->pParse;\n  pWVar52 = (WhereInfo *)&exprX;\n  psVar53 = (sqlite3 *)pParse;\n  pWVar56 = (WhereInfo *)xJump;\n  pEStack_150 = &compRight;\n  pEStack_14c = &compLeft;\n  pWStack_148 = pWVar49;\n  pWStack_144 = (WhereInfo *)&exprX;\n  pPStack_140 = pParse;\n  p_Stack_138 = xJump;\n  iStack_130 = dest;\n  pWStack_12c = (WhereLoop *)pcVar59;\n  pEStack_120 = pEVar46;\n  BVar64 = CONCAT44(in_t1,in_t0);\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n  if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') goto LAB_000c4c58;\n  pWVar35 = *(WhereTerm **)&pWC->iLimit;\n  pWStack_1b8 = &pWVar42->sMaskSet;\n  pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30);\n  pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n  pWVar56 = (WhereInfo *)pWVar52->pParse;\n  pWVar29 = pWC;\n  if ((Expr *)pWVar56->pResultSet == (Expr *)0x0) {\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar60 = 0;\n    uVar6 = 0;\n    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar60 = uVar6;\n    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n    pWVar49 = (WhereInfo *)uVar60;\n    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);\n    BVar64 = CONCAT44(in_t1,pWVar35);\n    BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n    if (iVar7 != 0) goto LAB_000c4c58;\n    if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    *(Bitmask *)&pWVar52->iContinue = BVar61;\n    pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n  }\n  else {\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  (pWVar42->sMaskSet).bVarSelect = 0;\n  BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56);\n  if ((pWVar42->sMaskSet).bVarSelect != 0) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;\n  }\n  if (((uint)pWVar56->pTabList & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pWVar41 = (WhereInfo *)(BVar61 >> 0x20);\n  pWVar36 = (WhereInfo *)BVar61;\n  puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3);\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  *(u16 *)&pWVar52->pResultSet = 0;\n  *(int *)&pWVar52->iLimit = -1;\n  pWVar52->pWhere = (Expr *)0xffffffff;\n  pWVar44 = pWVar52;\n  BVar64 = BVar61;\n  if ((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))) {\n    if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  pEVar23 = (Expr *)pWVar56->pResultSet;\n  if (pEVar23 != (Expr *)0x0) {\n    uVar32 = pEVar23->flags;\n    while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }\n  }\n  jumpIfNull = (int)pWVar56->pWhere;\n  if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }\n  }\n  uVar26 = 0x1fff;\n  if ((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0) {\n    uVar26 = 0x800;\n  }\n  if (0 < pWVar52->aiCurOnePass[0]) {\n    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;\n  }\n  iVar45 = *(int *)(puVar57 + 0x96c4c);\n  pWVar34 = pWVar49;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53);\n  if (iVar7 != 0) {\n    *(Parse **)&pWVar52->iLimit = pPStack_160;\n    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;\n  }\n  if (psVar53 == (sqlite3 *)0x2d) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n  }\n  pWVar42 = (WhereInfo *)&pPStack_160;\n  pWStack_190 = pWVar41;\n  pWStack_18c = pWVar36;\n  if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4d78;\n  pWVar34 = (WhereInfo *)pWVar52->iBreak;\n  pWVar65 = (WhereInfo *)&pPStack_160;\n  pWVar66 = (WhereInfo *)jumpIfNull;\n  psVar50 = psVar53;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28);\n  if (iVar7 == 0) goto LAB_000c4d78;\n  BVar2 = BVar61;\n  if (*(int *)&pWVar52->iLimit < 0) {\n    pEVar46 = (Expr *)pWVar56->pResultSet;\n    uVar32 = 0;\n    jumpIfNull = (int)pWVar56;\n  }\n  else {\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }\nLAB_000c5710:\n  pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n  uVar21 = pEVar23->flags & 0x100;\n  if (uVar21 == (pEVar46->flags & 0x100)) {\n    if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }\n  }\n  pWStack_190 = (WhereInfo *)(BVar2 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar2;\n  ((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23;\n  ((WhereInfo *)jumpIfNull)->pWhere = pEVar46;\n  if (0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse) {\n    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;\n  }\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4;\n  uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49);\n  pWVar52->iBreak = uStack_194 | (uint)pWVar49;\n  *(Parse **)&pWVar52->iLimit = pPStack_160;\n  *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n  uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse;\n  if (uVar21 == 0x31) {\n    uVar21 = 1;\n  }\n  else if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }\n  psVar53 = (sqlite3 *)(uVar32 + uVar21);\n  *(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26;\n  pWVar42 = pWVar52;\n  BVar64 = BVar61;\nLAB_000c4d78:\n  pWVar52 = pWVar44;\n  BVar61 = BVar64;\n  if (*(char *)&pWC->pOrderBy == ',') {\n    uVar32 = (uint)*(byte *)&pWVar56->pParse;\n    if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }\n    uVar11 = (undefined4)(BVar64 >> 0x20);\n    uVar21 = (uint)BVar64;\n    uVar62 = CONCAT44(psVar53,jumpIfNull);\n    cVar19 = ',';\n    if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr;\n  *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198;\n  *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194;\n  pWVar29 = pWC;\n  BVar64 = BVar61;\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\nLAB_000c4c58:\n  if (pEStack_154 == (ExprList *)*piVar8) {\n    return;\n  }\n  (**(code **)(puVar57 + 0x96f48))();\n  pWVar44 = (WhereInfo *)jumpIfNull;\nLAB_000c7158:\n  uVar32 = 0;\nLAB_000c6df0:\n  uVar21 = 1 << (uVar32 & 0x1f);\n  if ((uVar32 & 0x20) == 0) {\n    uVar32 = 0;\n  }\n  else {\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }\n  in_t2 = (WhereInfo *)((uint)in_t2 | uVar21);\n  in_t3 = (WhereInfo *)((uint)in_t3 | uVar32);\n  while( true ) {\n    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);\n    iVar7 = (int)BVar64 + 1;\n    pWVar34 = (WhereInfo *)&pWVar34->sorted;\n    if (pWVar41 == (WhereInfo *)iVar7) break;\nLAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);\n    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;\n    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar32 = 0;\n  jumpIfNull = 0;\n  pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3);\n  pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2);\n  pWC = pWVar29;\n  while( true ) {\n    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n    pWVar44 = (WhereInfo *)&pWVar44->sorted;\n    if (pWVar49 == pWVar42) break;\n    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n    pWStack_18c = (WhereInfo *)BVar61;\n    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }\n    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n    if ((uVar26 & 8) != 0) goto LAB_000c5b24;\n    pWVar34 = (WhereInfo *)(uVar26 & 2);\n    uVar21 = (pWStack_1a4->sMaskSet).n;\n    if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }\nLAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);\n    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);\n    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }\n  }\nLAB_000c5b30:\n  pWStack_18c = (WhereInfo *)BVar61;\n  (pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188;\n  (pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184;\n  if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n  *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n  in_t4 = (WhereInfo *)jumpIfNull;\n  if (pWVar52->pResultSet == (ExprList *)0x2) {\nLAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;\n    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    pWVar29 = (WhereInfo *)0x0;\nLAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);\n    BVar64 = CONCAT44(psVar53,pWStack_18c);\n    BVar61 = CONCAT44(psVar53,pWStack_18c);\n    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);\n    in_t4 = (WhereInfo *)jumpIfNull;\n    pWVar44 = (WhereInfo *)jumpIfNull;\n    if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }\n    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);\n    pWVar42 = (WhereInfo *)0x0;\n    sVar31 = *(short *)(piVar47 + 0xf);\n    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;\n    iVar7 = 0;\n    do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);\n  if ((pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)) {\n    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);\nLAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);\n    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }\n    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);\n    iVar33 = *(int *)&pWC->iLimit;\n    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;\n    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];\n    yVar30 = pWVar29->iContinue;\n    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;\n    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;\n    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;\n    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;\n    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;\n    uVar11 = pWVar52->savedNQueryLoop;\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  (pWVar52->sWC).aStatic[6].leftCursor = 0;\n  (pWVar52->sWC).aStatic[6].iParent = 0;\nLAB_000c5f04:\n  pWStack_18c = (WhereInfo *)BVar61;\n  *(undefined2 *)((int)pWStack_18c + 0xc) = 0x200;\n  in_t4 = (WhereInfo *)jumpIfNull;\nLAB_000c5b6c:\n  pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar61;\n  pWVar29 = pWVar42;\n  jumpIfNull = (int)pWVar44;\n  if (uVar32 != 0 || in_t4 != (WhereInfo *)0x0) {\n    pEVar37 = pWVar52->pResultSet;\n    jumpIfNull = (int)in_t4;\n    pWVar29 = pWVar52;\n    psStack_17c = psVar53;\nLAB_000c5b7c:\n    pWVar42 = pWStack_1a4;\n    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n    pWVar49 = (WhereInfo *)0x0;\n    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    pWVar34 = (WhereInfo *)0xffffffff;\n    in_t4 = (WhereInfo *)jumpIfNull;\n    psVar53 = psStack_17c;\nLAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);\n    piVar47 = *(int **)&pWVar29->iLimit;\n    pWStack_190 = pWC;\n    if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar60 = CONCAT44(pWStack_1a4,pWVar49);\n  pWVar42 = pWVar29;\n  pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr);\n  BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit);\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n  pWVar44 = (WhereInfo *)&pWVar44->sorted;\n  if (pWVar49 == pWVar42) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  psVar53 = (sqlite3 *)piVar47[7];\n  pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc);\nLAB_000c6784:\n  if (psVar53 == (sqlite3 *)piVar47[7]) {\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;\n  pEVar37 = pWVar29->pResultSet;\n  pWVar49 = (WhereInfo *)0x1;\n  pWVar34 = pWVar52;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;\n  piVar48 = piVar47;\n  goto LAB_000c6768;\n}\n\n" comment comment (function_definition "void exprCodeBetween(Parse *pParse,Expr *pExpr,int dest,_func_void_Parse_ptr_Expr_ptr_int_int *xJump\n                    ,int jumpIfNull,Expr *pExpr_1)\n\n{\n  byte bVar1;\n  Bitmask BVar2;\n  Expr **ppEVar3;\n  WhereInfo **ppWVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  int in_zero;\n  int iVar7;\n  int *piVar8;\n  WhereInfo *pWVar9;\n  ushort uVar17;\n  byte *pbVar10;\n  byte bVar18;\n  undefined4 uVar11;\n  char cVar19;\n  u8 uVar20;\n  WhereClause *pWVar12;\n  sqlite3 *psVar13;\n  undefined4 uVar14;\n  int iVar15;\n  uint uVar16;\n  WhereInfo *pParse_00;\n  uint uVar21;\n  ushort uVar26;\n  int iVar22;\n  Expr *pEVar23;\n  VTable *pVVar24;\n  uint uVar25;\n  undefined1 uVar27;\n  Parse *pPVar28;\n  WhereInfo *pWVar29;\n  ynVar yVar30;\n  short sVar31;\n  WhereInfo *pWC;\n  uint uVar32;\n  int iVar33;\n  WhereInfo *pWVar34;\n  undefined4 in_t0;\n  WhereTerm *pWVar35;\n  WhereInfo *pWVar36;\n  ExprList *pEVar37;\n  uint uVar38;\n  undefined4 in_t1;\n  char *pcVar39;\n  char *pcVar40;\n  WhereInfo *pWVar41;\n  WhereInfo *in_t2;\n  WhereInfo *in_t3;\n  WhereInfo *in_t4;\n  WhereInfo *in_t5;\n  WhereInfo *in_t6;\n  WhereInfo *pWVar42;\n  code *pcVar43;\n  WhereInfo *pWVar44;\n  int iVar45;\n  Expr *pEVar46;\n  int *piVar47;\n  int *piVar48;\n  WhereInfo *pWVar49;\n  sqlite3 *psVar50;\n  ExprList_item *pEVar51;\n  WhereInfo *pWVar52;\n  sqlite3 *psVar53;\n  bool bVar54;\n  undefined1 *puVar55;\n  WhereInfo *pWVar56;\n  undefined *puVar57;\n  _func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n  *p_Var58;\n  code *pcVar59;\n  undefined8 uVar60;\n  Bitmask BVar61;\n  ulonglong uVar62;\n  ulonglong uVar63;\n  Bitmask BVar64;\n  WhereInfo *pWVar65;\n  WhereInfo *pWVar66;\n  WhereMaskSet *pWStack_1b8;\n  code *pcStack_1b0;\n  WhereInfo *pWStack_1a4;\n  WhereInfo *pWStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  WhereInfo *pWStack_190;\n  WhereInfo *pWStack_18c;\n  WhereInfo *pWStack_188;\n  Bitmask *pBStack_184;\n  Parse *pPStack_180;\n  sqlite3 *psStack_17c;\n  WhereInfo *pWStack_178;\n  code *pcStack_174;\n  void *pvStack_164;\n  Parse *pPStack_160;\n  anon_union_4_3_737c4e49_for_u aStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  ExprList *pEStack_154;\n  Expr *pEStack_150;\n  Expr *pEStack_14c;\n  WhereInfo *pWStack_148;\n  WhereInfo *pWStack_144;\n  Parse *pPStack_140;\n  undefined *puStack_13c;\n  _func_void_Parse_ptr_Expr_ptr_int_int *p_Stack_138;\n  int iStack_134;\n  int iStack_130;\n  WhereLoop *pWStack_12c;\n  Expr *pEStack_120;\n  int regFree1;\n  Expr exprAnd;\n  Expr compLeft;\n  Expr compRight;\n  Expr exprX;\n  \n  pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c;\n  pWVar49 = (WhereInfo *)&exprAnd;\n  regFree1 = 0;\n  compLeft.op = '\0';\n  compLeft.affinity = '\0';\n  compLeft._2_2_ = 0;\n  compLeft.flags = 0;\n  compLeft.u.zToken = (char *)0x0;\n  compLeft.pLeft = (Expr *)0x0;\n  compLeft.pRight = (Expr *)0x0;\n  compLeft.x.pList = (ExprList *)0x0;\n  compLeft.nHeight = 0;\n  compLeft.iTable = 0;\n  compLeft.iColumn = 0;\n  compLeft.iAgg = 0;\n  compLeft.iRightJoinTable = 0;\n  compLeft.op2 = '\0';\n  compLeft._41_3_ = 0;\n  compLeft.pAggInfo = (AggInfo *)0x0;\n  compLeft.y.pTab = (Table *)0x0;\n  compLeft.y.sub.regReturn = 0;\n  compRight.op = '\0';\n  compRight.affinity = '\0';\n  compRight._2_2_ = 0;\n  iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  compRight.flags = 0;\n  exprAnd.op = '\0';\n  exprAnd.affinity = '\0';\n  exprAnd._2_2_ = 0;\n  compRight.u.zToken = (char *)0x0;\n  compRight.pLeft = (Expr *)0x0;\n  compRight.pRight = (Expr *)0x0;\n  compRight.x.pList = (ExprList *)0x0;\n  compRight.nHeight = 0;\n  compRight.iTable = 0;\n  compRight.iColumn = 0;\n  compRight.iAgg = 0;\n  compRight.iRightJoinTable = 0;\n  compRight.op2 = '\0';\n  compRight._41_3_ = 0;\n  compRight.pAggInfo = (AggInfo *)0x0;\n  compRight.y.pTab = (Table *)0x0;\n  compRight.y.sub.regReturn = 0;\n  exprAnd.flags = 0;\n  exprAnd.u.zToken = (char *)0x0;\n  exprAnd.pLeft = (Expr *)0x0;\n  exprAnd.pRight = (Expr *)0x0;\n  exprAnd.x.pList = (ExprList *)0x0;\n  exprAnd.nHeight = 0;\n  exprAnd.iTable = 0;\n  exprAnd.iColumn = 0;\n  exprAnd.iAgg = 0;\n  exprAnd.iRightJoinTable = 0;\n  exprAnd.op2 = '\0';\n  exprAnd._41_3_ = 0;\n  exprAnd.pAggInfo = (AggInfo *)0x0;\n  exprAnd.y.pTab = (Table *)0x0;\n  exprAnd.y.sub.regReturn = 0;\n  uVar11._0_1_ = pExpr->op;\n  uVar11._1_1_ = pExpr->affinity;\n  uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2;\n  pWVar34 = (WhereInfo *)xJump;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11);\n  exprAnd.op = 0x2c;\n  compLeft.op = 0x39;\n  compRight.op = 0x37;\n  compLeft.pRight = *(Expr **)(*(int *)dest + 4);\n  compRight.pRight = *(Expr **)(*(int *)dest + 0x18);\n  exprAnd.pLeft = &compLeft;\n  exprAnd.pRight = &compRight;\n  compLeft.pLeft = &exprX;\n  compRight.pLeft = &exprX;\n  exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1);\n  exprX.op2 = exprX.op;\n  exprX.flags = exprX.flags & 0xffffefff;\n  exprX.op = 0xa4;\n  pPVar28 = pParse;\n  pEVar46 = (Expr *)xJump;\n  if (jumpIfNull == 0) {\n    exprX.flags = exprX.flags | 1;\n    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);\n  }\n  else {\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }\n  pWC = (WhereInfo *)regFree1;\n  if (regFree1 != 0) {\n    pPVar28 = pParse;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (iVar7 == *(int *)pWVar29) {\n    return;\n  }\n  pcVar59 = exprAnalyze;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar8 = *(int **)(puVar57 + 0x96f64);\n  iStack_134 = jumpIfNull;\n  puStack_13c = (undefined *)pWVar29;\n  pWVar42 = (WhereInfo *)pWC->pParse;\n  pEStack_154 = (ExprList *)*piVar8;\n  pParse_00 = (WhereInfo *)pWVar42->pParse;\n  pWVar9 = (WhereInfo *)pParse_00->pParse;\n  pWVar52 = (WhereInfo *)&exprX;\n  psVar53 = (sqlite3 *)pParse;\n  pWVar56 = (WhereInfo *)xJump;\n  pEStack_150 = &compRight;\n  pEStack_14c = &compLeft;\n  pWStack_148 = pWVar49;\n  pWStack_144 = (WhereInfo *)&exprX;\n  pPStack_140 = pParse;\n  p_Stack_138 = xJump;\n  iStack_130 = dest;\n  pWStack_12c = (WhereLoop *)pcVar59;\n  pEStack_120 = pEVar46;\n  BVar64 = CONCAT44(in_t1,in_t0);\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n  if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') goto LAB_000c4c58;\n  pWVar35 = *(WhereTerm **)&pWC->iLimit;\n  pWStack_1b8 = &pWVar42->sMaskSet;\n  pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30);\n  pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n  pWVar56 = (WhereInfo *)pWVar52->pParse;\n  pWVar29 = pWC;\n  if ((Expr *)pWVar56->pResultSet == (Expr *)0x0) {\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar60 = 0;\n    uVar6 = 0;\n    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar60 = uVar6;\n    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n    pWVar49 = (WhereInfo *)uVar60;\n    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);\n    BVar64 = CONCAT44(in_t1,pWVar35);\n    BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n    if (iVar7 != 0) goto LAB_000c4c58;\n    if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    *(Bitmask *)&pWVar52->iContinue = BVar61;\n    pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n  }\n  else {\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  (pWVar42->sMaskSet).bVarSelect = 0;\n  BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56);\n  if ((pWVar42->sMaskSet).bVarSelect != 0) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;\n  }\n  if (((uint)pWVar56->pTabList & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pWVar41 = (WhereInfo *)(BVar61 >> 0x20);\n  pWVar36 = (WhereInfo *)BVar61;\n  puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3);\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  *(u16 *)&pWVar52->pResultSet = 0;\n  *(int *)&pWVar52->iLimit = -1;\n  pWVar52->pWhere = (Expr *)0xffffffff;\n  pWVar44 = pWVar52;\n  BVar64 = BVar61;\n  if ((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))) {\n    if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  pEVar23 = (Expr *)pWVar56->pResultSet;\n  if (pEVar23 != (Expr *)0x0) {\n    uVar32 = pEVar23->flags;\n    while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }\n  }\n  jumpIfNull = (int)pWVar56->pWhere;\n  if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }\n  }\n  uVar26 = 0x1fff;\n  if ((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0) {\n    uVar26 = 0x800;\n  }\n  if (0 < pWVar52->aiCurOnePass[0]) {\n    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;\n  }\n  iVar45 = *(int *)(puVar57 + 0x96c4c);\n  pWVar34 = pWVar49;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53);\n  if (iVar7 != 0) {\n    *(Parse **)&pWVar52->iLimit = pPStack_160;\n    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;\n  }\n  if (psVar53 == (sqlite3 *)0x2d) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n  }\n  pWVar42 = (WhereInfo *)&pPStack_160;\n  pWStack_190 = pWVar41;\n  pWStack_18c = pWVar36;\n  if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4d78;\n  pWVar34 = (WhereInfo *)pWVar52->iBreak;\n  pWVar65 = (WhereInfo *)&pPStack_160;\n  pWVar66 = (WhereInfo *)jumpIfNull;\n  psVar50 = psVar53;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28);\n  if (iVar7 == 0) goto LAB_000c4d78;\n  BVar2 = BVar61;\n  if (*(int *)&pWVar52->iLimit < 0) {\n    pEVar46 = (Expr *)pWVar56->pResultSet;\n    uVar32 = 0;\n    jumpIfNull = (int)pWVar56;\n  }\n  else {\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }\nLAB_000c5710:\n  pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n  uVar21 = pEVar23->flags & 0x100;\n  if (uVar21 == (pEVar46->flags & 0x100)) {\n    if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }\n  }\n  pWStack_190 = (WhereInfo *)(BVar2 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar2;\n  ((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23;\n  ((WhereInfo *)jumpIfNull)->pWhere = pEVar46;\n  if (0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse) {\n    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;\n  }\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4;\n  uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49);\n  pWVar52->iBreak = uStack_194 | (uint)pWVar49;\n  *(Parse **)&pWVar52->iLimit = pPStack_160;\n  *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n  uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse;\n  if (uVar21 == 0x31) {\n    uVar21 = 1;\n  }\n  else if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }\n  psVar53 = (sqlite3 *)(uVar32 + uVar21);\n  *(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26;\n  pWVar42 = pWVar52;\n  BVar64 = BVar61;\nLAB_000c4d78:\n  pWVar52 = pWVar44;\n  BVar61 = BVar64;\n  if (*(char *)&pWC->pOrderBy == ',') {\n    uVar32 = (uint)*(byte *)&pWVar56->pParse;\n    if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }\n    uVar11 = (undefined4)(BVar64 >> 0x20);\n    uVar21 = (uint)BVar64;\n    uVar62 = CONCAT44(psVar53,jumpIfNull);\n    cVar19 = ',';\n    if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr;\n  *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198;\n  *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194;\n  pWVar29 = pWC;\n  BVar64 = BVar61;\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\nLAB_000c4c58:\n  if (pEStack_154 == (ExprList *)*piVar8) {\n    return;\n  }\n  (**(code **)(puVar57 + 0x96f48))();\n  pWVar44 = (WhereInfo *)jumpIfNull;\nLAB_000c7158:\n  uVar32 = 0;\nLAB_000c6df0:\n  uVar21 = 1 << (uVar32 & 0x1f);\n  if ((uVar32 & 0x20) == 0) {\n    uVar32 = 0;\n  }\n  else {\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }\n  in_t2 = (WhereInfo *)((uint)in_t2 | uVar21);\n  in_t3 = (WhereInfo *)((uint)in_t3 | uVar32);\n  while( true ) {\n    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);\n    iVar7 = (int)BVar64 + 1;\n    pWVar34 = (WhereInfo *)&pWVar34->sorted;\n    if (pWVar41 == (WhereInfo *)iVar7) break;\nLAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);\n    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;\n    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar32 = 0;\n  jumpIfNull = 0;\n  pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3);\n  pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2);\n  pWC = pWVar29;\n  while( true ) {\n    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n    pWVar44 = (WhereInfo *)&pWVar44->sorted;\n    if (pWVar49 == pWVar42) break;\n    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n    pWStack_18c = (WhereInfo *)BVar61;\n    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }\n    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n    if ((uVar26 & 8) != 0) goto LAB_000c5b24;\n    pWVar34 = (WhereInfo *)(uVar26 & 2);\n    uVar21 = (pWStack_1a4->sMaskSet).n;\n    if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }\nLAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);\n    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);\n    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }\n  }\nLAB_000c5b30:\n  pWStack_18c = (WhereInfo *)BVar61;\n  (pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188;\n  (pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184;\n  if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n  *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n  in_t4 = (WhereInfo *)jumpIfNull;\n  if (pWVar52->pResultSet == (ExprList *)0x2) {\nLAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;\n    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    pWVar29 = (WhereInfo *)0x0;\nLAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);\n    BVar64 = CONCAT44(psVar53,pWStack_18c);\n    BVar61 = CONCAT44(psVar53,pWStack_18c);\n    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);\n    in_t4 = (WhereInfo *)jumpIfNull;\n    pWVar44 = (WhereInfo *)jumpIfNull;\n    if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }\n    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);\n    pWVar42 = (WhereInfo *)0x0;\n    sVar31 = *(short *)(piVar47 + 0xf);\n    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;\n    iVar7 = 0;\n    do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);\n  if ((pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)) {\n    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);\nLAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);\n    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }\n    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);\n    iVar33 = *(int *)&pWC->iLimit;\n    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;\n    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];\n    yVar30 = pWVar29->iContinue;\n    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;\n    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;\n    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;\n    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;\n    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;\n    uVar11 = pWVar52->savedNQueryLoop;\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  (pWVar52->sWC).aStatic[6].leftCursor = 0;\n  (pWVar52->sWC).aStatic[6].iParent = 0;\nLAB_000c5f04:\n  pWStack_18c = (WhereInfo *)BVar61;\n  *(undefined2 *)((int)pWStack_18c + 0xc) = 0x200;\n  in_t4 = (WhereInfo *)jumpIfNull;\nLAB_000c5b6c:\n  pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar61;\n  pWVar29 = pWVar42;\n  jumpIfNull = (int)pWVar44;\n  if (uVar32 != 0 || in_t4 != (WhereInfo *)0x0) {\n    pEVar37 = pWVar52->pResultSet;\n    jumpIfNull = (int)in_t4;\n    pWVar29 = pWVar52;\n    psStack_17c = psVar53;\nLAB_000c5b7c:\n    pWVar42 = pWStack_1a4;\n    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n    pWVar49 = (WhereInfo *)0x0;\n    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    pWVar34 = (WhereInfo *)0xffffffff;\n    in_t4 = (WhereInfo *)jumpIfNull;\n    psVar53 = psStack_17c;\nLAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);\n    piVar47 = *(int **)&pWVar29->iLimit;\n    pWStack_190 = pWC;\n    if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar60 = CONCAT44(pWStack_1a4,pWVar49);\n  pWVar42 = pWVar29;\n  pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr);\n  BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit);\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n  pWVar44 = (WhereInfo *)&pWVar44->sorted;\n  if (pWVar49 == pWVar42) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  psVar53 = (sqlite3 *)piVar47[7];\n  pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc);\nLAB_000c6784:\n  if (psVar53 == (sqlite3 *)piVar47[7]) {\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;\n  pEVar37 = pWVar29->pResultSet;\n  pWVar49 = (WhereInfo *)0x1;\n  pWVar34 = pWVar52;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;\n  piVar48 = piVar47;\n  goto LAB_000c6768;\n}" primitive_type (function_declarator "exprCodeBetween(Parse *pParse,Expr *pExpr,int dest,_func_void_Parse_ptr_Expr_ptr_int_int *xJump\n                    ,int jumpIfNull,Expr *pExpr_1)" identifier (parameter_list "(Parse *pParse,Expr *pExpr,int dest,_func_void_Parse_ptr_Expr_ptr_int_int *xJump\n                    ,int jumpIfNull,Expr *pExpr_1)" ( (parameter_declaration "Parse *pParse" type_identifier (pointer_declarator "*pParse" * identifier)) , (parameter_declaration "Expr *pExpr" type_identifier (pointer_declarator "*pExpr" * identifier)) , (parameter_declaration "int dest" primitive_type identifier) , (parameter_declaration "_func_void_Parse_ptr_Expr_ptr_int_int *xJump" type_identifier (pointer_declarator "*xJump" * identifier)) , (parameter_declaration "int jumpIfNull" primitive_type identifier) , (parameter_declaration "Expr *pExpr_1" type_identifier (pointer_declarator "*pExpr_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  Bitmask BVar2;\n  Expr **ppEVar3;\n  WhereInfo **ppWVar4;\n  uint uVar5;\n  undefined8 uVar6;\n  int in_zero;\n  int iVar7;\n  int *piVar8;\n  WhereInfo *pWVar9;\n  ushort uVar17;\n  byte *pbVar10;\n  byte bVar18;\n  undefined4 uVar11;\n  char cVar19;\n  u8 uVar20;\n  WhereClause *pWVar12;\n  sqlite3 *psVar13;\n  undefined4 uVar14;\n  int iVar15;\n  uint uVar16;\n  WhereInfo *pParse_00;\n  uint uVar21;\n  ushort uVar26;\n  int iVar22;\n  Expr *pEVar23;\n  VTable *pVVar24;\n  uint uVar25;\n  undefined1 uVar27;\n  Parse *pPVar28;\n  WhereInfo *pWVar29;\n  ynVar yVar30;\n  short sVar31;\n  WhereInfo *pWC;\n  uint uVar32;\n  int iVar33;\n  WhereInfo *pWVar34;\n  undefined4 in_t0;\n  WhereTerm *pWVar35;\n  WhereInfo *pWVar36;\n  ExprList *pEVar37;\n  uint uVar38;\n  undefined4 in_t1;\n  char *pcVar39;\n  char *pcVar40;\n  WhereInfo *pWVar41;\n  WhereInfo *in_t2;\n  WhereInfo *in_t3;\n  WhereInfo *in_t4;\n  WhereInfo *in_t5;\n  WhereInfo *in_t6;\n  WhereInfo *pWVar42;\n  code *pcVar43;\n  WhereInfo *pWVar44;\n  int iVar45;\n  Expr *pEVar46;\n  int *piVar47;\n  int *piVar48;\n  WhereInfo *pWVar49;\n  sqlite3 *psVar50;\n  ExprList_item *pEVar51;\n  WhereInfo *pWVar52;\n  sqlite3 *psVar53;\n  bool bVar54;\n  undefined1 *puVar55;\n  WhereInfo *pWVar56;\n  undefined *puVar57;\n  _func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n  *p_Var58;\n  code *pcVar59;\n  undefined8 uVar60;\n  Bitmask BVar61;\n  ulonglong uVar62;\n  ulonglong uVar63;\n  Bitmask BVar64;\n  WhereInfo *pWVar65;\n  WhereInfo *pWVar66;\n  WhereMaskSet *pWStack_1b8;\n  code *pcStack_1b0;\n  WhereInfo *pWStack_1a4;\n  WhereInfo *pWStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  WhereInfo *pWStack_190;\n  WhereInfo *pWStack_18c;\n  WhereInfo *pWStack_188;\n  Bitmask *pBStack_184;\n  Parse *pPStack_180;\n  sqlite3 *psStack_17c;\n  WhereInfo *pWStack_178;\n  code *pcStack_174;\n  void *pvStack_164;\n  Parse *pPStack_160;\n  anon_union_4_3_737c4e49_for_u aStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  ExprList *pEStack_154;\n  Expr *pEStack_150;\n  Expr *pEStack_14c;\n  WhereInfo *pWStack_148;\n  WhereInfo *pWStack_144;\n  Parse *pPStack_140;\n  undefined *puStack_13c;\n  _func_void_Parse_ptr_Expr_ptr_int_int *p_Stack_138;\n  int iStack_134;\n  int iStack_130;\n  WhereLoop *pWStack_12c;\n  Expr *pEStack_120;\n  int regFree1;\n  Expr exprAnd;\n  Expr compLeft;\n  Expr compRight;\n  Expr exprX;\n  \n  pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c;\n  pWVar49 = (WhereInfo *)&exprAnd;\n  regFree1 = 0;\n  compLeft.op = '\0';\n  compLeft.affinity = '\0';\n  compLeft._2_2_ = 0;\n  compLeft.flags = 0;\n  compLeft.u.zToken = (char *)0x0;\n  compLeft.pLeft = (Expr *)0x0;\n  compLeft.pRight = (Expr *)0x0;\n  compLeft.x.pList = (ExprList *)0x0;\n  compLeft.nHeight = 0;\n  compLeft.iTable = 0;\n  compLeft.iColumn = 0;\n  compLeft.iAgg = 0;\n  compLeft.iRightJoinTable = 0;\n  compLeft.op2 = '\0';\n  compLeft._41_3_ = 0;\n  compLeft.pAggInfo = (AggInfo *)0x0;\n  compLeft.y.pTab = (Table *)0x0;\n  compLeft.y.sub.regReturn = 0;\n  compRight.op = '\0';\n  compRight.affinity = '\0';\n  compRight._2_2_ = 0;\n  iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c;\n  compRight.flags = 0;\n  exprAnd.op = '\0';\n  exprAnd.affinity = '\0';\n  exprAnd._2_2_ = 0;\n  compRight.u.zToken = (char *)0x0;\n  compRight.pLeft = (Expr *)0x0;\n  compRight.pRight = (Expr *)0x0;\n  compRight.x.pList = (ExprList *)0x0;\n  compRight.nHeight = 0;\n  compRight.iTable = 0;\n  compRight.iColumn = 0;\n  compRight.iAgg = 0;\n  compRight.iRightJoinTable = 0;\n  compRight.op2 = '\0';\n  compRight._41_3_ = 0;\n  compRight.pAggInfo = (AggInfo *)0x0;\n  compRight.y.pTab = (Table *)0x0;\n  compRight.y.sub.regReturn = 0;\n  exprAnd.flags = 0;\n  exprAnd.u.zToken = (char *)0x0;\n  exprAnd.pLeft = (Expr *)0x0;\n  exprAnd.pRight = (Expr *)0x0;\n  exprAnd.x.pList = (ExprList *)0x0;\n  exprAnd.nHeight = 0;\n  exprAnd.iTable = 0;\n  exprAnd.iColumn = 0;\n  exprAnd.iAgg = 0;\n  exprAnd.iRightJoinTable = 0;\n  exprAnd.op2 = '\0';\n  exprAnd._41_3_ = 0;\n  exprAnd.pAggInfo = (AggInfo *)0x0;\n  exprAnd.y.pTab = (Table *)0x0;\n  exprAnd.y.sub.regReturn = 0;\n  uVar11._0_1_ = pExpr->op;\n  uVar11._1_1_ = pExpr->affinity;\n  uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2;\n  pWVar34 = (WhereInfo *)xJump;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11);\n  exprAnd.op = 0x2c;\n  compLeft.op = 0x39;\n  compRight.op = 0x37;\n  compLeft.pRight = *(Expr **)(*(int *)dest + 4);\n  compRight.pRight = *(Expr **)(*(int *)dest + 0x18);\n  exprAnd.pLeft = &compLeft;\n  exprAnd.pRight = &compRight;\n  compLeft.pLeft = &exprX;\n  compRight.pLeft = &exprX;\n  exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1);\n  exprX.op2 = exprX.op;\n  exprX.flags = exprX.flags & 0xffffefff;\n  exprX.op = 0xa4;\n  pPVar28 = pParse;\n  pEVar46 = (Expr *)xJump;\n  if (jumpIfNull == 0) {\n    exprX.flags = exprX.flags | 1;\n    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);\n  }\n  else {\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }\n  pWC = (WhereInfo *)regFree1;\n  if (regFree1 != 0) {\n    pPVar28 = pParse;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (iVar7 == *(int *)pWVar29) {\n    return;\n  }\n  pcVar59 = exprAnalyze;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar8 = *(int **)(puVar57 + 0x96f64);\n  iStack_134 = jumpIfNull;\n  puStack_13c = (undefined *)pWVar29;\n  pWVar42 = (WhereInfo *)pWC->pParse;\n  pEStack_154 = (ExprList *)*piVar8;\n  pParse_00 = (WhereInfo *)pWVar42->pParse;\n  pWVar9 = (WhereInfo *)pParse_00->pParse;\n  pWVar52 = (WhereInfo *)&exprX;\n  psVar53 = (sqlite3 *)pParse;\n  pWVar56 = (WhereInfo *)xJump;\n  pEStack_150 = &compRight;\n  pEStack_14c = &compLeft;\n  pWStack_148 = pWVar49;\n  pWStack_144 = (WhereInfo *)&exprX;\n  pPStack_140 = pParse;\n  p_Stack_138 = xJump;\n  iStack_130 = dest;\n  pWStack_12c = (WhereLoop *)pcVar59;\n  pEStack_120 = pEVar46;\n  BVar64 = CONCAT44(in_t1,in_t0);\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n  if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') goto LAB_000c4c58;\n  pWVar35 = *(WhereTerm **)&pWC->iLimit;\n  pWStack_1b8 = &pWVar42->sMaskSet;\n  pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30);\n  pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n  pWVar56 = (WhereInfo *)pWVar52->pParse;\n  pWVar29 = pWC;\n  if ((Expr *)pWVar56->pResultSet == (Expr *)0x0) {\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar60 = 0;\n    uVar6 = 0;\n    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar60 = uVar6;\n    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n    pWVar49 = (WhereInfo *)uVar60;\n    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);\n    BVar64 = CONCAT44(in_t1,pWVar35);\n    BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n    if (iVar7 != 0) goto LAB_000c4c58;\n    if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    *(Bitmask *)&pWVar52->iContinue = BVar61;\n    pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n  }\n  else {\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  (pWVar42->sMaskSet).bVarSelect = 0;\n  BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56);\n  if ((pWVar42->sMaskSet).bVarSelect != 0) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;\n  }\n  if (((uint)pWVar56->pTabList & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pWVar41 = (WhereInfo *)(BVar61 >> 0x20);\n  pWVar36 = (WhereInfo *)BVar61;\n  puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3);\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  *(u16 *)&pWVar52->pResultSet = 0;\n  *(int *)&pWVar52->iLimit = -1;\n  pWVar52->pWhere = (Expr *)0xffffffff;\n  pWVar44 = pWVar52;\n  BVar64 = BVar61;\n  if ((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))) {\n    if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  pEVar23 = (Expr *)pWVar56->pResultSet;\n  if (pEVar23 != (Expr *)0x0) {\n    uVar32 = pEVar23->flags;\n    while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }\n  }\n  jumpIfNull = (int)pWVar56->pWhere;\n  if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }\n  }\n  uVar26 = 0x1fff;\n  if ((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0) {\n    uVar26 = 0x800;\n  }\n  if (0 < pWVar52->aiCurOnePass[0]) {\n    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;\n  }\n  iVar45 = *(int *)(puVar57 + 0x96c4c);\n  pWVar34 = pWVar49;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53);\n  if (iVar7 != 0) {\n    *(Parse **)&pWVar52->iLimit = pPStack_160;\n    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;\n  }\n  if (psVar53 == (sqlite3 *)0x2d) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n  }\n  pWVar42 = (WhereInfo *)&pPStack_160;\n  pWStack_190 = pWVar41;\n  pWStack_18c = pWVar36;\n  if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4d78;\n  pWVar34 = (WhereInfo *)pWVar52->iBreak;\n  pWVar65 = (WhereInfo *)&pPStack_160;\n  pWVar66 = (WhereInfo *)jumpIfNull;\n  psVar50 = psVar53;\n  iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28);\n  if (iVar7 == 0) goto LAB_000c4d78;\n  BVar2 = BVar61;\n  if (*(int *)&pWVar52->iLimit < 0) {\n    pEVar46 = (Expr *)pWVar56->pResultSet;\n    uVar32 = 0;\n    jumpIfNull = (int)pWVar56;\n  }\n  else {\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }\nLAB_000c5710:\n  pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n  uVar21 = pEVar23->flags & 0x100;\n  if (uVar21 == (pEVar46->flags & 0x100)) {\n    if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }\n  }\n  pWStack_190 = (WhereInfo *)(BVar2 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar2;\n  ((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23;\n  ((WhereInfo *)jumpIfNull)->pWhere = pEVar46;\n  if (0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse) {\n    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;\n  }\n  *(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;\n  pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4;\n  uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49);\n  pWVar52->iBreak = uStack_194 | (uint)pWVar49;\n  *(Parse **)&pWVar52->iLimit = pPStack_160;\n  *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n  uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse;\n  if (uVar21 == 0x31) {\n    uVar21 = 1;\n  }\n  else if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }\n  psVar53 = (sqlite3 *)(uVar32 + uVar21);\n  *(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26;\n  pWVar42 = pWVar52;\n  BVar64 = BVar61;\nLAB_000c4d78:\n  pWVar52 = pWVar44;\n  BVar61 = BVar64;\n  if (*(char *)&pWC->pOrderBy == ',') {\n    uVar32 = (uint)*(byte *)&pWVar56->pParse;\n    if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }\n    uVar11 = (undefined4)(BVar64 >> 0x20);\n    uVar21 = (uint)BVar64;\n    uVar62 = CONCAT44(psVar53,jumpIfNull);\n    cVar19 = ',';\n    if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n  pWVar49 = (WhereInfo *)uVar60;\n  ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr;\n  *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198;\n  *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194;\n  pWVar29 = pWC;\n  BVar64 = BVar61;\n  BVar61 = CONCAT44(pWStack_190,pWStack_18c);\nLAB_000c4c58:\n  if (pEStack_154 == (ExprList *)*piVar8) {\n    return;\n  }\n  (**(code **)(puVar57 + 0x96f48))();\n  pWVar44 = (WhereInfo *)jumpIfNull;\nLAB_000c7158:\n  uVar32 = 0;\nLAB_000c6df0:\n  uVar21 = 1 << (uVar32 & 0x1f);\n  if ((uVar32 & 0x20) == 0) {\n    uVar32 = 0;\n  }\n  else {\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }\n  in_t2 = (WhereInfo *)((uint)in_t2 | uVar21);\n  in_t3 = (WhereInfo *)((uint)in_t3 | uVar32);\n  while( true ) {\n    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);\n    iVar7 = (int)BVar64 + 1;\n    pWVar34 = (WhereInfo *)&pWVar34->sorted;\n    if (pWVar41 == (WhereInfo *)iVar7) break;\nLAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);\n    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;\n    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar32 = 0;\n  jumpIfNull = 0;\n  pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3);\n  pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2);\n  pWC = pWVar29;\n  while( true ) {\n    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n    pWVar44 = (WhereInfo *)&pWVar44->sorted;\n    if (pWVar49 == pWVar42) break;\n    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n    pWStack_18c = (WhereInfo *)BVar61;\n    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }\n    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n    if ((uVar26 & 8) != 0) goto LAB_000c5b24;\n    pWVar34 = (WhereInfo *)(uVar26 & 2);\n    uVar21 = (pWStack_1a4->sMaskSet).n;\n    if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }\nLAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);\n    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);\n    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }\n  }\nLAB_000c5b30:\n  pWStack_18c = (WhereInfo *)BVar61;\n  (pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188;\n  (pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184;\n  if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n  *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n  in_t4 = (WhereInfo *)jumpIfNull;\n  if (pWVar52->pResultSet == (ExprList *)0x2) {\nLAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;\n    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    pWVar29 = (WhereInfo *)0x0;\nLAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);\n    BVar64 = CONCAT44(psVar53,pWStack_18c);\n    BVar61 = CONCAT44(psVar53,pWStack_18c);\n    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);\n    in_t4 = (WhereInfo *)jumpIfNull;\n    pWVar44 = (WhereInfo *)jumpIfNull;\n    if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }\n    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);\n    pWVar42 = (WhereInfo *)0x0;\n    sVar31 = *(short *)(piVar47 + 0xf);\n    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;\n    iVar7 = 0;\n    do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);\n  if ((pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)) {\n    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);\nLAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);\n    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }\n    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);\n    iVar33 = *(int *)&pWC->iLimit;\n    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;\n    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];\n    yVar30 = pWVar29->iContinue;\n    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;\n    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;\n    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;\n    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;\n    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;\n    uVar11 = pWVar52->savedNQueryLoop;\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  (pWVar52->sWC).aStatic[6].leftCursor = 0;\n  (pWVar52->sWC).aStatic[6].iParent = 0;\nLAB_000c5f04:\n  pWStack_18c = (WhereInfo *)BVar61;\n  *(undefined2 *)((int)pWStack_18c + 0xc) = 0x200;\n  in_t4 = (WhereInfo *)jumpIfNull;\nLAB_000c5b6c:\n  pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n  pWStack_18c = (WhereInfo *)BVar61;\n  pWVar29 = pWVar42;\n  jumpIfNull = (int)pWVar44;\n  if (uVar32 != 0 || in_t4 != (WhereInfo *)0x0) {\n    pEVar37 = pWVar52->pResultSet;\n    jumpIfNull = (int)in_t4;\n    pWVar29 = pWVar52;\n    psStack_17c = psVar53;\nLAB_000c5b7c:\n    pWVar42 = pWStack_1a4;\n    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n    pWVar49 = (WhereInfo *)0x0;\n    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    pWVar34 = (WhereInfo *)0xffffffff;\n    in_t4 = (WhereInfo *)jumpIfNull;\n    psVar53 = psStack_17c;\nLAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);\n    piVar47 = *(int **)&pWVar29->iLimit;\n    pWStack_190 = pWC;\n    if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar60 = CONCAT44(pWStack_1a4,pWVar49);\n  pWVar42 = pWVar29;\n  pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr);\n  BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit);\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n  pWVar44 = (WhereInfo *)&pWVar44->sorted;\n  if (pWVar49 == pWVar42) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  psVar53 = (sqlite3 *)piVar47[7];\n  pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc);\nLAB_000c6784:\n  if (psVar53 == (sqlite3 *)piVar47[7]) {\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;\n  pEVar37 = pWVar29->pResultSet;\n  pWVar49 = (WhereInfo *)0x1;\n  pWVar34 = pWVar52;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;\n  piVar48 = piVar47;\n  goto LAB_000c6768;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "Bitmask BVar2;" type_identifier identifier ;) (declaration "Expr **ppEVar3;" type_identifier (pointer_declarator "**ppEVar3" * (pointer_declarator "*ppEVar3" * identifier)) ;) (declaration "WhereInfo **ppWVar4;" type_identifier (pointer_declarator "**ppWVar4" * (pointer_declarator "*ppWVar4" * identifier)) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "int in_zero;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "WhereInfo *pWVar9;" type_identifier (pointer_declarator "*pWVar9" * identifier) ;) (declaration "ushort uVar17;" type_identifier identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "char cVar19;" primitive_type identifier ;) (declaration "u8 uVar20;" type_identifier identifier ;) (declaration "WhereClause *pWVar12;" type_identifier (pointer_declarator "*pWVar12" * identifier) ;) (declaration "sqlite3 *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "WhereInfo *pParse_00;" type_identifier (pointer_declarator "*pParse_00" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "ushort uVar26;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "Expr *pEVar23;" type_identifier (pointer_declarator "*pEVar23" * identifier) ;) (declaration "VTable *pVVar24;" type_identifier (pointer_declarator "*pVVar24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "undefined1 uVar27;" type_identifier identifier ;) (declaration "Parse *pPVar28;" type_identifier (pointer_declarator "*pPVar28" * identifier) ;) (declaration "WhereInfo *pWVar29;" type_identifier (pointer_declarator "*pWVar29" * identifier) ;) (declaration "ynVar yVar30;" type_identifier identifier ;) (declaration "short sVar31;" (sized_type_specifier "short" short) identifier ;) (declaration "WhereInfo *pWC;" type_identifier (pointer_declarator "*pWC" * identifier) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "WhereInfo *pWVar34;" type_identifier (pointer_declarator "*pWVar34" * identifier) ;) (declaration "undefined4 in_t0;" type_identifier identifier ;) (declaration "WhereTerm *pWVar35;" type_identifier (pointer_declarator "*pWVar35" * identifier) ;) (declaration "WhereInfo *pWVar36;" type_identifier (pointer_declarator "*pWVar36" * identifier) ;) (declaration "ExprList *pEVar37;" type_identifier (pointer_declarator "*pEVar37" * identifier) ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "undefined4 in_t1;" type_identifier identifier ;) (declaration "char *pcVar39;" primitive_type (pointer_declarator "*pcVar39" * identifier) ;) (declaration "char *pcVar40;" primitive_type (pointer_declarator "*pcVar40" * identifier) ;) (declaration "WhereInfo *pWVar41;" type_identifier (pointer_declarator "*pWVar41" * identifier) ;) (declaration "WhereInfo *in_t2;" type_identifier (pointer_declarator "*in_t2" * identifier) ;) (declaration "WhereInfo *in_t3;" type_identifier (pointer_declarator "*in_t3" * identifier) ;) (declaration "WhereInfo *in_t4;" type_identifier (pointer_declarator "*in_t4" * identifier) ;) (declaration "WhereInfo *in_t5;" type_identifier (pointer_declarator "*in_t5" * identifier) ;) (declaration "WhereInfo *in_t6;" type_identifier (pointer_declarator "*in_t6" * identifier) ;) (declaration "WhereInfo *pWVar42;" type_identifier (pointer_declarator "*pWVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "WhereInfo *pWVar44;" type_identifier (pointer_declarator "*pWVar44" * identifier) ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "Expr *pEVar46;" type_identifier (pointer_declarator "*pEVar46" * identifier) ;) (declaration "int *piVar47;" primitive_type (pointer_declarator "*piVar47" * identifier) ;) (declaration "int *piVar48;" primitive_type (pointer_declarator "*piVar48" * identifier) ;) (declaration "WhereInfo *pWVar49;" type_identifier (pointer_declarator "*pWVar49" * identifier) ;) (declaration "sqlite3 *psVar50;" type_identifier (pointer_declarator "*psVar50" * identifier) ;) (declaration "ExprList_item *pEVar51;" type_identifier (pointer_declarator "*pEVar51" * identifier) ;) (declaration "WhereInfo *pWVar52;" type_identifier (pointer_declarator "*pWVar52" * identifier) ;) (declaration "sqlite3 *psVar53;" type_identifier (pointer_declarator "*psVar53" * identifier) ;) (declaration "bool bVar54;" primitive_type identifier ;) (declaration "undefined1 *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "WhereInfo *pWVar56;" type_identifier (pointer_declarator "*pWVar56" * identifier) ;) (declaration "undefined *puVar57;" type_identifier (pointer_declarator "*puVar57" * identifier) ;) (declaration "_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n  *p_Var58;" type_identifier (pointer_declarator "*p_Var58" * identifier) ;) (declaration "code *pcVar59;" type_identifier (pointer_declarator "*pcVar59" * identifier) ;) (declaration "undefined8 uVar60;" type_identifier identifier ;) (declaration "Bitmask BVar61;" type_identifier identifier ;) (declaration "ulonglong uVar62;" type_identifier identifier ;) (declaration "ulonglong uVar63;" type_identifier identifier ;) (declaration "Bitmask BVar64;" type_identifier identifier ;) (declaration "WhereInfo *pWVar65;" type_identifier (pointer_declarator "*pWVar65" * identifier) ;) (declaration "WhereInfo *pWVar66;" type_identifier (pointer_declarator "*pWVar66" * identifier) ;) (declaration "WhereMaskSet *pWStack_1b8;" type_identifier (pointer_declarator "*pWStack_1b8" * identifier) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "WhereInfo *pWStack_1a4;" type_identifier (pointer_declarator "*pWStack_1a4" * identifier) ;) (declaration "WhereInfo *pWStack_19c;" type_identifier (pointer_declarator "*pWStack_19c" * identifier) ;) (declaration "uint uStack_198;" type_identifier identifier ;) (declaration "uint uStack_194;" type_identifier identifier ;) (declaration "WhereInfo *pWStack_190;" type_identifier (pointer_declarator "*pWStack_190" * identifier) ;) (declaration "WhereInfo *pWStack_18c;" type_identifier (pointer_declarator "*pWStack_18c" * identifier) ;) (declaration "WhereInfo *pWStack_188;" type_identifier (pointer_declarator "*pWStack_188" * identifier) ;) (declaration "Bitmask *pBStack_184;" type_identifier (pointer_declarator "*pBStack_184" * identifier) ;) (declaration "Parse *pPStack_180;" type_identifier (pointer_declarator "*pPStack_180" * identifier) ;) (declaration "sqlite3 *psStack_17c;" type_identifier (pointer_declarator "*psStack_17c" * identifier) ;) (declaration "WhereInfo *pWStack_178;" type_identifier (pointer_declarator "*pWStack_178" * identifier) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "void *pvStack_164;" primitive_type (pointer_declarator "*pvStack_164" * identifier) ;) (declaration "Parse *pPStack_160;" type_identifier (pointer_declarator "*pPStack_160" * identifier) ;) (declaration "anon_union_4_3_737c4e49_for_u aStack_15c;" type_identifier identifier ;) (declaration "byte bStack_158;" type_identifier identifier ;) (declaration "byte bStack_157;" type_identifier identifier ;) (declaration "byte bStack_156;" type_identifier identifier ;) (declaration "byte bStack_155;" type_identifier identifier ;) (declaration "ExprList *pEStack_154;" type_identifier (pointer_declarator "*pEStack_154" * identifier) ;) (declaration "Expr *pEStack_150;" type_identifier (pointer_declarator "*pEStack_150" * identifier) ;) (declaration "Expr *pEStack_14c;" type_identifier (pointer_declarator "*pEStack_14c" * identifier) ;) (declaration "WhereInfo *pWStack_148;" type_identifier (pointer_declarator "*pWStack_148" * identifier) ;) (declaration "WhereInfo *pWStack_144;" type_identifier (pointer_declarator "*pWStack_144" * identifier) ;) (declaration "Parse *pPStack_140;" type_identifier (pointer_declarator "*pPStack_140" * identifier) ;) (declaration "undefined *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "_func_void_Parse_ptr_Expr_ptr_int_int *p_Stack_138;" type_identifier (pointer_declarator "*p_Stack_138" * identifier) ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int iStack_130;" primitive_type identifier ;) (declaration "WhereLoop *pWStack_12c;" type_identifier (pointer_declarator "*pWStack_12c" * identifier) ;) (declaration "Expr *pEStack_120;" type_identifier (pointer_declarator "*pEStack_120" * identifier) ;) (declaration "int regFree1;" primitive_type identifier ;) (declaration "Expr exprAnd;" type_identifier identifier ;) (declaration "Expr compLeft;" type_identifier identifier ;) (declaration "Expr compRight;" type_identifier identifier ;) (declaration "Expr exprX;" type_identifier identifier ;) (expression_statement "pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pWVar29 = (WhereInfo *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(WhereInfo *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar49 = (WhereInfo *)&exprAnd;" (assignment_expression "pWVar49 = (WhereInfo *)&exprAnd" identifier = (cast_expression "(WhereInfo *)&exprAnd" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&exprAnd" & identifier))) ;) (expression_statement "regFree1 = 0;" (assignment_expression "regFree1 = 0" identifier = number_literal) ;) (expression_statement "compLeft.op = '\0';" (assignment_expression "compLeft.op = '\0'" (field_expression "compLeft.op" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compLeft.affinity = '\0';" (assignment_expression "compLeft.affinity = '\0'" (field_expression "compLeft.affinity" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compLeft._2_2_ = 0;" (assignment_expression "compLeft._2_2_ = 0" (field_expression "compLeft._2_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.flags = 0;" (assignment_expression "compLeft.flags = 0" (field_expression "compLeft.flags" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.u.zToken = (char *)0x0;" (assignment_expression "compLeft.u.zToken = (char *)0x0" (field_expression "compLeft.u.zToken" (field_expression "compLeft.u" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.pLeft = (Expr *)0x0;" (assignment_expression "compLeft.pLeft = (Expr *)0x0" (field_expression "compLeft.pLeft" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.pRight = (Expr *)0x0;" (assignment_expression "compLeft.pRight = (Expr *)0x0" (field_expression "compLeft.pRight" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.x.pList = (ExprList *)0x0;" (assignment_expression "compLeft.x.pList = (ExprList *)0x0" (field_expression "compLeft.x.pList" (field_expression "compLeft.x" identifier . field_identifier) . field_identifier) = (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.nHeight = 0;" (assignment_expression "compLeft.nHeight = 0" (field_expression "compLeft.nHeight" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.iTable = 0;" (assignment_expression "compLeft.iTable = 0" (field_expression "compLeft.iTable" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.iColumn = 0;" (assignment_expression "compLeft.iColumn = 0" (field_expression "compLeft.iColumn" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.iAgg = 0;" (assignment_expression "compLeft.iAgg = 0" (field_expression "compLeft.iAgg" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.iRightJoinTable = 0;" (assignment_expression "compLeft.iRightJoinTable = 0" (field_expression "compLeft.iRightJoinTable" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.op2 = '\0';" (assignment_expression "compLeft.op2 = '\0'" (field_expression "compLeft.op2" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compLeft._41_3_ = 0;" (assignment_expression "compLeft._41_3_ = 0" (field_expression "compLeft._41_3_" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.pAggInfo = (AggInfo *)0x0;" (assignment_expression "compLeft.pAggInfo = (AggInfo *)0x0" (field_expression "compLeft.pAggInfo" identifier . field_identifier) = (cast_expression "(AggInfo *)0x0" ( (type_descriptor "AggInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.y.pTab = (Table *)0x0;" (assignment_expression "compLeft.y.pTab = (Table *)0x0" (field_expression "compLeft.y.pTab" (field_expression "compLeft.y" identifier . field_identifier) . field_identifier) = (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compLeft.y.sub.regReturn = 0;" (assignment_expression "compLeft.y.sub.regReturn = 0" (field_expression "compLeft.y.sub.regReturn" (field_expression "compLeft.y.sub" (field_expression "compLeft.y" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "compRight.op = '\0';" (assignment_expression "compRight.op = '\0'" (field_expression "compRight.op" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compRight.affinity = '\0';" (assignment_expression "compRight.affinity = '\0'" (field_expression "compRight.affinity" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compRight._2_2_ = 0;" (assignment_expression "compRight._2_2_ = 0" (field_expression "compRight._2_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "iVar7 = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "compRight.flags = 0;" (assignment_expression "compRight.flags = 0" (field_expression "compRight.flags" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.op = '\0';" (assignment_expression "exprAnd.op = '\0'" (field_expression "exprAnd.op" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "exprAnd.affinity = '\0';" (assignment_expression "exprAnd.affinity = '\0'" (field_expression "exprAnd.affinity" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "exprAnd._2_2_ = 0;" (assignment_expression "exprAnd._2_2_ = 0" (field_expression "exprAnd._2_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.u.zToken = (char *)0x0;" (assignment_expression "compRight.u.zToken = (char *)0x0" (field_expression "compRight.u.zToken" (field_expression "compRight.u" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.pLeft = (Expr *)0x0;" (assignment_expression "compRight.pLeft = (Expr *)0x0" (field_expression "compRight.pLeft" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.pRight = (Expr *)0x0;" (assignment_expression "compRight.pRight = (Expr *)0x0" (field_expression "compRight.pRight" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.x.pList = (ExprList *)0x0;" (assignment_expression "compRight.x.pList = (ExprList *)0x0" (field_expression "compRight.x.pList" (field_expression "compRight.x" identifier . field_identifier) . field_identifier) = (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.nHeight = 0;" (assignment_expression "compRight.nHeight = 0" (field_expression "compRight.nHeight" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.iTable = 0;" (assignment_expression "compRight.iTable = 0" (field_expression "compRight.iTable" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.iColumn = 0;" (assignment_expression "compRight.iColumn = 0" (field_expression "compRight.iColumn" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.iAgg = 0;" (assignment_expression "compRight.iAgg = 0" (field_expression "compRight.iAgg" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.iRightJoinTable = 0;" (assignment_expression "compRight.iRightJoinTable = 0" (field_expression "compRight.iRightJoinTable" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.op2 = '\0';" (assignment_expression "compRight.op2 = '\0'" (field_expression "compRight.op2" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "compRight._41_3_ = 0;" (assignment_expression "compRight._41_3_ = 0" (field_expression "compRight._41_3_" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.pAggInfo = (AggInfo *)0x0;" (assignment_expression "compRight.pAggInfo = (AggInfo *)0x0" (field_expression "compRight.pAggInfo" identifier . field_identifier) = (cast_expression "(AggInfo *)0x0" ( (type_descriptor "AggInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.y.pTab = (Table *)0x0;" (assignment_expression "compRight.y.pTab = (Table *)0x0" (field_expression "compRight.y.pTab" (field_expression "compRight.y" identifier . field_identifier) . field_identifier) = (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "compRight.y.sub.regReturn = 0;" (assignment_expression "compRight.y.sub.regReturn = 0" (field_expression "compRight.y.sub.regReturn" (field_expression "compRight.y.sub" (field_expression "compRight.y" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exprAnd.flags = 0;" (assignment_expression "exprAnd.flags = 0" (field_expression "exprAnd.flags" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.u.zToken = (char *)0x0;" (assignment_expression "exprAnd.u.zToken = (char *)0x0" (field_expression "exprAnd.u.zToken" (field_expression "exprAnd.u" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.pLeft = (Expr *)0x0;" (assignment_expression "exprAnd.pLeft = (Expr *)0x0" (field_expression "exprAnd.pLeft" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.pRight = (Expr *)0x0;" (assignment_expression "exprAnd.pRight = (Expr *)0x0" (field_expression "exprAnd.pRight" identifier . field_identifier) = (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.x.pList = (ExprList *)0x0;" (assignment_expression "exprAnd.x.pList = (ExprList *)0x0" (field_expression "exprAnd.x.pList" (field_expression "exprAnd.x" identifier . field_identifier) . field_identifier) = (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.nHeight = 0;" (assignment_expression "exprAnd.nHeight = 0" (field_expression "exprAnd.nHeight" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.iTable = 0;" (assignment_expression "exprAnd.iTable = 0" (field_expression "exprAnd.iTable" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.iColumn = 0;" (assignment_expression "exprAnd.iColumn = 0" (field_expression "exprAnd.iColumn" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.iAgg = 0;" (assignment_expression "exprAnd.iAgg = 0" (field_expression "exprAnd.iAgg" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.iRightJoinTable = 0;" (assignment_expression "exprAnd.iRightJoinTable = 0" (field_expression "exprAnd.iRightJoinTable" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.op2 = '\0';" (assignment_expression "exprAnd.op2 = '\0'" (field_expression "exprAnd.op2" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "exprAnd._41_3_ = 0;" (assignment_expression "exprAnd._41_3_ = 0" (field_expression "exprAnd._41_3_" identifier . field_identifier) = number_literal) ;) (expression_statement "exprAnd.pAggInfo = (AggInfo *)0x0;" (assignment_expression "exprAnd.pAggInfo = (AggInfo *)0x0" (field_expression "exprAnd.pAggInfo" identifier . field_identifier) = (cast_expression "(AggInfo *)0x0" ( (type_descriptor "AggInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.y.pTab = (Table *)0x0;" (assignment_expression "exprAnd.y.pTab = (Table *)0x0" (field_expression "exprAnd.y.pTab" (field_expression "exprAnd.y" identifier . field_identifier) . field_identifier) = (cast_expression "(Table *)0x0" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exprAnd.y.sub.regReturn = 0;" (assignment_expression "exprAnd.y.sub.regReturn = 0" (field_expression "exprAnd.y.sub.regReturn" (field_expression "exprAnd.y.sub" (field_expression "exprAnd.y" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar11._0_1_ = pExpr->op;" (assignment_expression "uVar11._0_1_ = pExpr->op" (field_expression "uVar11._0_1_" identifier . field_identifier) = (field_expression "pExpr->op" identifier -> field_identifier)) ;) (expression_statement "uVar11._1_1_ = pExpr->affinity;" (assignment_expression "uVar11._1_1_ = pExpr->affinity" (field_expression "uVar11._1_1_" identifier . field_identifier) = (field_expression "pExpr->affinity" identifier -> field_identifier)) ;) (expression_statement "uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2;" (assignment_expression "uVar11._2_2_ = *(undefined2 *)&pExpr->field_0x2" (field_expression "uVar11._2_2_" identifier . field_identifier) = (pointer_expression "*(undefined2 *)&pExpr->field_0x2" * (cast_expression "(undefined2 *)&pExpr->field_0x2" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pExpr->field_0x2" & (field_expression "pExpr->field_0x2" identifier -> field_identifier))))) ;) (expression_statement "pWVar34 = (WhereInfo *)xJump;" (assignment_expression "pWVar34 = (WhereInfo *)xJump" identifier = (cast_expression "(WhereInfo *)xJump" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))((WhereInfo *)&exprX,uVar11)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x656c)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x656c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x656c)" ( (binary_expression "PTR_LAB_0015b65c + 0x656c" identifier + number_literal) )))) )) (argument_list "((WhereInfo *)&exprX,uVar11)" ( (cast_expression "(WhereInfo *)&exprX" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&exprX" & identifier)) , identifier ))) ;) (expression_statement "exprAnd.op = 0x2c;" (assignment_expression "exprAnd.op = 0x2c" (field_expression "exprAnd.op" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.op = 0x39;" (assignment_expression "compLeft.op = 0x39" (field_expression "compLeft.op" identifier . field_identifier) = number_literal) ;) (expression_statement "compRight.op = 0x37;" (assignment_expression "compRight.op = 0x37" (field_expression "compRight.op" identifier . field_identifier) = number_literal) ;) (expression_statement "compLeft.pRight = *(Expr **)(*(int *)dest + 4);" (assignment_expression "compLeft.pRight = *(Expr **)(*(int *)dest + 4)" (field_expression "compLeft.pRight" identifier . field_identifier) = (pointer_expression "*(Expr **)(*(int *)dest + 4)" * (cast_expression "(Expr **)(*(int *)dest + 4)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)dest + 4)" ( (binary_expression "*(int *)dest + 4" (pointer_expression "*(int *)dest" * (cast_expression "(int *)dest" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "compRight.pRight = *(Expr **)(*(int *)dest + 0x18);" (assignment_expression "compRight.pRight = *(Expr **)(*(int *)dest + 0x18)" (field_expression "compRight.pRight" identifier . field_identifier) = (pointer_expression "*(Expr **)(*(int *)dest + 0x18)" * (cast_expression "(Expr **)(*(int *)dest + 0x18)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)dest + 0x18)" ( (binary_expression "*(int *)dest + 0x18" (pointer_expression "*(int *)dest" * (cast_expression "(int *)dest" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "exprAnd.pLeft = &compLeft;" (assignment_expression "exprAnd.pLeft = &compLeft" (field_expression "exprAnd.pLeft" identifier . field_identifier) = (pointer_expression "&compLeft" & identifier)) ;) (expression_statement "exprAnd.pRight = &compRight;" (assignment_expression "exprAnd.pRight = &compRight" (field_expression "exprAnd.pRight" identifier . field_identifier) = (pointer_expression "&compRight" & identifier)) ;) (expression_statement "compLeft.pLeft = &exprX;" (assignment_expression "compLeft.pLeft = &exprX" (field_expression "compLeft.pLeft" identifier . field_identifier) = (pointer_expression "&exprX" & identifier)) ;) (expression_statement "compRight.pLeft = &exprX;" (assignment_expression "compRight.pLeft = &exprX" (field_expression "compRight.pLeft" identifier . field_identifier) = (pointer_expression "&exprX" & identifier)) ;) (expression_statement "exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1);" (assignment_expression "exprX.iTable = exprCodeVector(pParse,&exprX,&regFree1)" (field_expression "exprX.iTable" identifier . field_identifier) = (call_expression "exprCodeVector(pParse,&exprX,&regFree1)" identifier (argument_list "(pParse,&exprX,&regFree1)" ( identifier , (pointer_expression "&exprX" & identifier) , (pointer_expression "&regFree1" & identifier) )))) ;) (expression_statement "exprX.op2 = exprX.op;" (assignment_expression "exprX.op2 = exprX.op" (field_expression "exprX.op2" identifier . field_identifier) = (field_expression "exprX.op" identifier . field_identifier)) ;) (expression_statement "exprX.flags = exprX.flags & 0xffffefff;" (assignment_expression "exprX.flags = exprX.flags & 0xffffefff" (field_expression "exprX.flags" identifier . field_identifier) = (binary_expression "exprX.flags & 0xffffefff" (field_expression "exprX.flags" identifier . field_identifier) & number_literal)) ;) (expression_statement "exprX.op = 0xa4;" (assignment_expression "exprX.op = 0xa4" (field_expression "exprX.op" identifier . field_identifier) = number_literal) ;) (expression_statement "pPVar28 = pParse;" (assignment_expression "pPVar28 = pParse" identifier = identifier) ;) (expression_statement "pEVar46 = (Expr *)xJump;" (assignment_expression "pEVar46 = (Expr *)xJump" identifier = (cast_expression "(Expr *)xJump" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (jumpIfNull == 0) {\n    exprX.flags = exprX.flags | 1;\n    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);\n  }\n  else {\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }" if (parenthesized_expression "(jumpIfNull == 0)" ( (binary_expression "jumpIfNull == 0" identifier == number_literal) )) (compound_statement "{\n    exprX.flags = exprX.flags | 1;\n    sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);\n  }" { (expression_statement "exprX.flags = exprX.flags | 1;" (assignment_expression "exprX.flags = exprX.flags | 1" (field_expression "exprX.flags" identifier . field_identifier) = (binary_expression "exprX.flags | 1" (field_expression "exprX.flags" identifier . field_identifier) | number_literal)) ;) (expression_statement "sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump);" (call_expression "sqlite3ExprCodeTarget(pParse,(Expr *)pWVar49,(int)xJump)" identifier (argument_list "(pParse,(Expr *)pWVar49,(int)xJump)" ( identifier , (cast_expression "(Expr *)pWVar49" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)xJump" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) }) (else_clause "else {\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }" else (compound_statement "{\n    (*(code *)jumpIfNull)(pParse,pWVar49);\n    pWVar34 = (WhereInfo *)pExpr_1;\n  }" { (expression_statement "(*(code *)jumpIfNull)(pParse,pWVar49);" (call_expression "(*(code *)jumpIfNull)(pParse,pWVar49)" (parenthesized_expression "(*(code *)jumpIfNull)" ( (pointer_expression "*(code *)jumpIfNull" * (cast_expression "(code *)jumpIfNull" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pParse,pWVar49)" ( identifier , identifier ))) ;) (expression_statement "pWVar34 = (WhereInfo *)pExpr_1;" (assignment_expression "pWVar34 = (WhereInfo *)pExpr_1" identifier = (cast_expression "(WhereInfo *)pExpr_1" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "pWC = (WhereInfo *)regFree1;" (assignment_expression "pWC = (WhereInfo *)regFree1" identifier = (cast_expression "(WhereInfo *)regFree1" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (regFree1 != 0) {\n    pPVar28 = pParse;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" if (parenthesized_expression "(regFree1 != 0)" ( (binary_expression "regFree1 != 0" identifier != number_literal) )) (compound_statement "{\n    pPVar28 = pParse;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" { (expression_statement "pPVar28 = pParse;" (assignment_expression "pPVar28 = pParse" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();" (call_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" * (cast_expression "(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6c0 + -0x7cb0)" ( (binary_expression "PTR_LAB_0015b6c0 + -0x7cb0" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (iVar7 == *(int *)pWVar29) {\n    return;\n  }" if (parenthesized_expression "(iVar7 == *(int *)pWVar29)" ( (binary_expression "iVar7 == *(int *)pWVar29" identifier == (pointer_expression "*(int *)pWVar29" * (cast_expression "(int *)pWVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar59 = exprAnalyze;" (assignment_expression "pcVar59 = exprAnalyze" identifier = identifier) ;) (expression_statement "puVar57 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar57 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(puVar57 + 0x96f64);" (assignment_expression "piVar8 = *(int **)(puVar57 + 0x96f64)" identifier = (pointer_expression "*(int **)(puVar57 + 0x96f64)" * (cast_expression "(int **)(puVar57 + 0x96f64)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96f64)" ( (binary_expression "puVar57 + 0x96f64" identifier + number_literal) ))))) ;) (expression_statement "iStack_134 = jumpIfNull;" (assignment_expression "iStack_134 = jumpIfNull" identifier = identifier) ;) (expression_statement "puStack_13c = (undefined *)pWVar29;" (assignment_expression "puStack_13c = (undefined *)pWVar29" identifier = (cast_expression "(undefined *)pWVar29" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar42 = (WhereInfo *)pWC->pParse;" (assignment_expression "pWVar42 = (WhereInfo *)pWC->pParse" identifier = (cast_expression "(WhereInfo *)pWC->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWC->pParse" identifier -> field_identifier))) ;) (expression_statement "pEStack_154 = (ExprList *)*piVar8;" (assignment_expression "pEStack_154 = (ExprList *)*piVar8" identifier = (cast_expression "(ExprList *)*piVar8" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "pParse_00 = (WhereInfo *)pWVar42->pParse;" (assignment_expression "pParse_00 = (WhereInfo *)pWVar42->pParse" identifier = (cast_expression "(WhereInfo *)pWVar42->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar42->pParse" identifier -> field_identifier))) ;) (expression_statement "pWVar9 = (WhereInfo *)pParse_00->pParse;" (assignment_expression "pWVar9 = (WhereInfo *)pParse_00->pParse" identifier = (cast_expression "(WhereInfo *)pParse_00->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse_00->pParse" identifier -> field_identifier))) ;) (expression_statement "pWVar52 = (WhereInfo *)&exprX;" (assignment_expression "pWVar52 = (WhereInfo *)&exprX" identifier = (cast_expression "(WhereInfo *)&exprX" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&exprX" & identifier))) ;) (expression_statement "psVar53 = (sqlite3 *)pParse;" (assignment_expression "psVar53 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar56 = (WhereInfo *)xJump;" (assignment_expression "pWVar56 = (WhereInfo *)xJump" identifier = (cast_expression "(WhereInfo *)xJump" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_150 = &compRight;" (assignment_expression "pEStack_150 = &compRight" identifier = (pointer_expression "&compRight" & identifier)) ;) (expression_statement "pEStack_14c = &compLeft;" (assignment_expression "pEStack_14c = &compLeft" identifier = (pointer_expression "&compLeft" & identifier)) ;) (expression_statement "pWStack_148 = pWVar49;" (assignment_expression "pWStack_148 = pWVar49" identifier = identifier) ;) (expression_statement "pWStack_144 = (WhereInfo *)&exprX;" (assignment_expression "pWStack_144 = (WhereInfo *)&exprX" identifier = (cast_expression "(WhereInfo *)&exprX" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&exprX" & identifier))) ;) (expression_statement "pPStack_140 = pParse;" (assignment_expression "pPStack_140 = pParse" identifier = identifier) ;) (expression_statement "p_Stack_138 = xJump;" (assignment_expression "p_Stack_138 = xJump" identifier = identifier) ;) (expression_statement "iStack_130 = dest;" (assignment_expression "iStack_130 = dest" identifier = identifier) ;) (expression_statement "pWStack_12c = (WhereLoop *)pcVar59;" (assignment_expression "pWStack_12c = (WhereLoop *)pcVar59" identifier = (cast_expression "(WhereLoop *)pcVar59" ( (type_descriptor "WhereLoop *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_120 = pEVar46;" (assignment_expression "pEStack_120 = pEVar46" identifier = identifier) ;) (expression_statement "BVar64 = CONCAT44(in_t1,in_t0);" (assignment_expression "BVar64 = CONCAT44(in_t1,in_t0)" identifier = (call_expression "CONCAT44(in_t1,in_t0)" identifier (argument_list "(in_t1,in_t0)" ( identifier , identifier )))) ;) (expression_statement "BVar61 = CONCAT44(pWStack_190,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(pWStack_190,pWStack_18c)" identifier = (call_expression "CONCAT44(pWStack_190,pWStack_18c)" identifier (argument_list "(pWStack_190,pWStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') goto LAB_000c4c58;" if (parenthesized_expression "(*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0')" ( (binary_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0'" (pointer_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" * (cast_expression "(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pWVar9->sWC).pWInfo + 1)" ( (binary_expression "(int)&(pWVar9->sWC).pWInfo + 1" (cast_expression "(int)&(pWVar9->sWC).pWInfo" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pWVar9->sWC).pWInfo" & (field_expression "(pWVar9->sWC).pWInfo" (parenthesized_expression "(pWVar9->sWC)" ( (field_expression "pWVar9->sWC" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "pWVar35 = *(WhereTerm **)&pWC->iLimit;" (assignment_expression "pWVar35 = *(WhereTerm **)&pWC->iLimit" identifier = (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) ;) (expression_statement "pWStack_1b8 = &pWVar42->sMaskSet;" (assignment_expression "pWStack_1b8 = &pWVar42->sMaskSet" identifier = (pointer_expression "&pWVar42->sMaskSet" & (field_expression "pWVar42->sMaskSet" identifier -> field_identifier))) ;) (expression_statement "pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30);" (assignment_expression "pWStack_19c = (WhereInfo *)((int)pEVar46 * 0x30)" identifier = (cast_expression "(WhereInfo *)((int)pEVar46 * 0x30)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar46 * 0x30)" ( (binary_expression "(int)pEVar46 * 0x30" (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);" (assignment_expression "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" ( (binary_expression "(int)&pWStack_19c->pParse + (int)&pWVar35->pExpr" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (cast_expression "(int)&pWVar35->pExpr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar35->pExpr" & (field_expression "pWVar35->pExpr" identifier -> field_identifier)))) )))) ;) (expression_statement "pWVar56 = (WhereInfo *)pWVar52->pParse;" (assignment_expression "pWVar56 = (WhereInfo *)pWVar52->pParse" identifier = (cast_expression "(WhereInfo *)pWVar52->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar52->pParse" identifier -> field_identifier))) ;) (expression_statement "pWVar29 = pWC;" (assignment_expression "pWVar29 = pWC" identifier = identifier) ;) (if_statement "if ((Expr *)pWVar56->pResultSet == (Expr *)0x0) {\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar60 = 0;\n    uVar6 = 0;\n    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar60 = uVar6;\n    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n    pWVar49 = (WhereInfo *)uVar60;\n    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);\n    BVar64 = CONCAT44(in_t1,pWVar35);\n    BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n    if (iVar7 != 0) goto LAB_000c4c58;\n    if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    *(Bitmask *)&pWVar52->iContinue = BVar61;\n    pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n  }\n  else {\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }" if (parenthesized_expression "((Expr *)pWVar56->pResultSet == (Expr *)0x0)" ( (binary_expression "(Expr *)pWVar56->pResultSet == (Expr *)0x0" (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier)) == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar60 = 0;\n    uVar6 = 0;\n    if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar60 = uVar6;\n    pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n    pWVar49 = (WhereInfo *)uVar60;\n    iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);\n    BVar64 = CONCAT44(in_t1,pWVar35);\n    BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n    if (iVar7 != 0) goto LAB_000c4c58;\n    if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    *(Bitmask *)&pWVar52->iContinue = BVar61;\n    pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n  }" { (expression_statement "psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;" (assignment_expression "psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(sqlite3 *)(uint)*(byte *)&pWVar56->pParse" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) (expression_statement "uVar60 = 0;" (assignment_expression "uVar60 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (psVar53 != (sqlite3 *)&DAT_00000031) goto LAB_000c4b90;" if (parenthesized_expression "(psVar53 != (sqlite3 *)&DAT_00000031)" ( (binary_expression "psVar53 != (sqlite3 *)&DAT_00000031" identifier != (cast_expression "(sqlite3 *)&DAT_00000031" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4b90;" goto statement_identifier ;)) (labeled_statement "LAB_000c4cac:\n    uVar60 = uVar6;" statement_identifier : (expression_statement "uVar60 = uVar6;" (assignment_expression "uVar60 = uVar6" identifier = identifier) ;)) (expression_statement "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" (assignment_expression "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20)" identifier = (cast_expression "(WhereInfo *)((ulonglong)uVar60 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar60 >> 0x20)" ( (binary_expression "(ulonglong)uVar60 >> 0x20" (cast_expression "(ulonglong)uVar60" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pWVar49 = (WhereInfo *)uVar60;" (assignment_expression "pWVar49 = (WhereInfo *)uVar60" identifier = (cast_expression "(WhereInfo *)uVar60" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))(pParse_00,pWVar56)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x1a50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x1a50)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x1a50" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,pWVar56)" ( identifier , identifier )))) ;) (expression_statement "BVar64 = CONCAT44(in_t1,pWVar35);" (assignment_expression "BVar64 = CONCAT44(in_t1,pWVar35)" identifier = (call_expression "CONCAT44(in_t1,pWVar35)" identifier (argument_list "(in_t1,pWVar35)" ( identifier , identifier )))) ;) (expression_statement "BVar61 = CONCAT44(pWStack_190,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(pWStack_190,pWStack_18c)" identifier = (call_expression "CONCAT44(pWStack_190,pWStack_18c)" identifier (argument_list "(pWStack_190,pWStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (if_statement "if (((uint)pWVar56->pTabList & 0x800) == 0) {\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }\n    else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }" if (parenthesized_expression "(((uint)pWVar56->pTabList & 0x800) == 0)" ( (binary_expression "((uint)pWVar56->pTabList & 0x800) == 0" (parenthesized_expression "((uint)pWVar56->pTabList & 0x800)" ( (binary_expression "(uint)pWVar56->pTabList & 0x800" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }\n    }" { (if_statement "if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }" if (parenthesized_expression "(((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0)" ( (binary_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList == (ExprList *)0x0" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) == (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        BVar61 = 0;\n      }" { (expression_statement "BVar61 = 0;" (assignment_expression "BVar61 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }" else (compound_statement "{\n        BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);\n      }" { (expression_statement "BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8);" (assignment_expression "BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))(pWStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x2a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x2a54)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x2a54" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWStack_1b8)" ( identifier )))) ;) }))) }) (else_clause "else {\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }" else (compound_statement "{\n      BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);\n    }" { (expression_statement "BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8);" (assignment_expression "BVar61 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))(pWStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x2958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x2958)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x2958" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWStack_1b8)" ( identifier )))) ;) }))) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(Bitmask *)&pWVar52->iContinue = BVar61;" (assignment_expression "*(Bitmask *)&pWVar52->iContinue = BVar61" (pointer_expression "*(Bitmask *)&pWVar52->iContinue" * (cast_expression "(Bitmask *)&pWVar52->iContinue" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iContinue" & (field_expression "pWVar52->iContinue" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pcStack_1b0 = (code *)(iVar7 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar7 + -0x2d10)" identifier = (cast_expression "(code *)(iVar7 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2d10)" ( (binary_expression "iVar7 + -0x2d10" identifier + number_literal) )))) ;) }) (else_clause "else {\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }" else (compound_statement "{\n    uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();\n    psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;\n    uVar6 = uVar60;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);\n    if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }\n  }" { (expression_statement "uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))();" (assignment_expression "uVar60 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))()" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))()" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x2d10)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x2d10" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse;" (assignment_expression "psVar53 = (sqlite3 *)(uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(sqlite3 *)(uint)*(byte *)&pWVar56->pParse" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) (expression_statement "uVar6 = uVar60;" (assignment_expression "uVar6 = uVar60" identifier = identifier) ;) (if_statement "if (psVar53 == (sqlite3 *)&DAT_00000031) goto LAB_000c4cac;" if (parenthesized_expression "(psVar53 == (sqlite3 *)&DAT_00000031)" ( (binary_expression "psVar53 == (sqlite3 *)&DAT_00000031" identifier == (cast_expression "(sqlite3 *)&DAT_00000031" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4cac;" goto statement_identifier ;)) (labeled_statement "LAB_000c4b90:\n    iVar7 = *(int *)(puVar57 + 0x96c38);" statement_identifier : (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;)) (if_statement "if (psVar53 == (sqlite3 *)0x32) {\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }\n    else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }" if (parenthesized_expression "(psVar53 == (sqlite3 *)0x32)" ( (binary_expression "psVar53 == (sqlite3 *)0x32" identifier == (cast_expression "(sqlite3 *)0x32" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pWVar52->iContinue = 0;\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      pWVar52->iBreak = 0;\n    }" { (expression_statement "pWVar52->iContinue = 0;" (assignment_expression "pWVar52->iContinue = 0" (field_expression "pWVar52->iContinue" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcStack_1b0 = (code *)(iVar7 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar7 + -0x2d10)" identifier = (cast_expression "(code *)(iVar7 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2d10)" ( (binary_expression "iVar7 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "pWVar52->iBreak = 0;" (assignment_expression "pWVar52->iBreak = 0" (field_expression "pWVar52->iBreak" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }" else (compound_statement "{\n      if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar7 + -0x2d10);\n      *(Bitmask *)&pWVar52->iContinue = BVar61;\n    }" { (if_statement "if (pWVar56->pWhere == (Expr *)0x0) {\n        BVar61 = 0;\n      }\n      else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }" if (parenthesized_expression "(pWVar56->pWhere == (Expr *)0x0)" ( (binary_expression "pWVar56->pWhere == (Expr *)0x0" (field_expression "pWVar56->pWhere" identifier -> field_identifier) == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        BVar61 = 0;\n      }" { (expression_statement "BVar61 = 0;" (assignment_expression "BVar61 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }" else (compound_statement "{\n        BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);\n      }" { (expression_statement "BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8);" (assignment_expression "BVar61 = (*(code *)(iVar7 + -0x2d10))(pWStack_1b8)" identifier = (call_expression "(*(code *)(iVar7 + -0x2d10))(pWStack_1b8)" (parenthesized_expression "(*(code *)(iVar7 + -0x2d10))" ( (pointer_expression "*(code *)(iVar7 + -0x2d10)" * (cast_expression "(code *)(iVar7 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2d10)" ( (binary_expression "iVar7 + -0x2d10" identifier + number_literal) )))) )) (argument_list "(pWStack_1b8)" ( identifier )))) ;) }))) (expression_statement "pcStack_1b0 = (code *)(iVar7 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar7 + -0x2d10)" identifier = (cast_expression "(code *)(iVar7 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2d10)" ( (binary_expression "iVar7 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "*(Bitmask *)&pWVar52->iContinue = BVar61;" (assignment_expression "*(Bitmask *)&pWVar52->iContinue = BVar61" (pointer_expression "*(Bitmask *)&pWVar52->iContinue" * (cast_expression "(Bitmask *)&pWVar52->iContinue" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iContinue" & (field_expression "pWVar52->iContinue" identifier -> field_identifier)))) = identifier) ;) }))) }))) (expression_statement "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" (assignment_expression "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20)" identifier = (cast_expression "(WhereInfo *)((ulonglong)uVar60 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar60 >> 0x20)" ( (binary_expression "(ulonglong)uVar60 >> 0x20" (cast_expression "(ulonglong)uVar60" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pWVar49 = (WhereInfo *)uVar60;" (assignment_expression "pWVar49 = (WhereInfo *)uVar60" identifier = (cast_expression "(WhereInfo *)uVar60" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pWVar42->sMaskSet).bVarSelect = 0;" (assignment_expression "(pWVar42->sMaskSet).bVarSelect = 0" (field_expression "(pWVar42->sMaskSet).bVarSelect" (parenthesized_expression "(pWVar42->sMaskSet)" ( (field_expression "pWVar42->sMaskSet" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56);" (assignment_expression "BVar61 = (*pcStack_1b0)(pWStack_1b8,pWVar56)" identifier = (call_expression "(*pcStack_1b0)(pWStack_1b8,pWVar56)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pWStack_1b8,pWVar56)" ( identifier , identifier )))) ;) (if_statement "if ((pWVar42->sMaskSet).bVarSelect != 0) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;\n  }" if (parenthesized_expression "((pWVar42->sMaskSet).bVarSelect != 0)" ( (binary_expression "(pWVar42->sMaskSet).bVarSelect != 0" (field_expression "(pWVar42->sMaskSet).bVarSelect" (parenthesized_expression "(pWVar42->sMaskSet)" ( (field_expression "pWVar42->sMaskSet" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;\n  }" { (expression_statement "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000;" (assignment_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x1000" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (((uint)pWVar56->pTabList & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" if (parenthesized_expression "(((uint)pWVar56->pTabList & 1) == 0)" ( (binary_expression "((uint)pWVar56->pTabList & 1) == 0" (parenthesized_expression "((uint)pWVar56->pTabList & 1)" ( (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }" { (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" else (compound_statement "{\n    uVar32 = (pWVar42->sMaskSet).n;\n    if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }\n    uVar38 = (uint)(BVar61 >> 0x20) | uVar21;\n    uVar25 = (uint)BVar61 | uVar32;\n    BVar61 = CONCAT44(uVar38,uVar25);\n    pWVar34 = (WhereInfo *)(uVar38 << 0x1f);\n    if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" { (expression_statement "uVar32 = (pWVar42->sMaskSet).n;" (assignment_expression "uVar32 = (pWVar42->sMaskSet).n" identifier = (field_expression "(pWVar42->sMaskSet).n" (parenthesized_expression "(pWVar42->sMaskSet)" ( (field_expression "pWVar42->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((int)uVar32 < 1) {\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "((int)uVar32 < 1)" ( (binary_expression "(int)uVar32 < 1" (cast_expression "(int)uVar32" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);\n      BVar64 = BVar61;\n      BVar61 = CONCAT44(pWStack_190,pWStack_18c);\n      goto LAB_000c4c58;\n    }" { (labeled_statement "LAB_000c4c3c:\n      iVar7 = *(int *)(puVar57 + 0x96b34);" statement_identifier : (expression_statement "iVar7 = *(int *)(puVar57 + 0x96b34);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96b34)" * (cast_expression "(int *)(puVar57 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b34)" ( (binary_expression "puVar57 + 0x96b34" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c4c40:\n      (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))(pParse_00,iVar7 + -0x6e04)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x1104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x1104)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x1104" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,iVar7 + -0x6e04)" ( identifier , (binary_expression "iVar7 + -0x6e04" identifier + number_literal) ))) ;)) (expression_statement "BVar64 = BVar61;" (assignment_expression "BVar64 = BVar61" identifier = identifier) ;) (expression_statement "BVar61 = CONCAT44(pWStack_190,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(pWStack_190,pWStack_18c)" identifier = (call_expression "CONCAT44(pWStack_190,pWStack_18c)" identifier (argument_list "(pWStack_190,pWStack_18c)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (if_statement "if ((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]) {\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }" if (parenthesized_expression "((int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0])" ( (binary_expression "(int)*(i16 *)((int)&pWVar56->iBreak + 2) == (pWVar42->sMaskSet).ix[0]" (cast_expression "(int)*(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) == (subscript_expression "(pWVar42->sMaskSet).ix[0]" (field_expression "(pWVar42->sMaskSet).ix" (parenthesized_expression "(pWVar42->sMaskSet)" ( (field_expression "pWVar42->sMaskSet" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (compound_statement "{\n      uVar21 = 0;\n      uStack_198 = 0;\n      uVar32 = 1;\n      uStack_194 = 0;\n    }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uVar32 = 1;" (assignment_expression "uVar32 = 1" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }" else (compound_statement "{\n      piVar47 = (pWVar42->sMaskSet).ix;\n      uVar21 = 0;\n      do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);\n      uVar32 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }\n      uStack_194 = uVar32 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);\n    }" { (expression_statement "piVar47 = (pWVar42->sMaskSet).ix;" (assignment_expression "piVar47 = (pWVar42->sMaskSet).ix" identifier = (field_expression "(pWVar42->sMaskSet).ix" (parenthesized_expression "(pWVar42->sMaskSet)" ( (field_expression "pWVar42->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      } while ((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47);" do (compound_statement "{\n        piVar47 = piVar47 + 1;\n        uVar21 = uVar21 + 1;\n        if (uVar21 == uVar32) goto LAB_000c4c3c;\n      }" { (expression_statement "piVar47 = piVar47 + 1;" (assignment_expression "piVar47 = piVar47 + 1" identifier = (binary_expression "piVar47 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == uVar32) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar21 == uVar32)" ( (binary_expression "uVar21 == uVar32" identifier == identifier) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) }) while (parenthesized_expression "((int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47)" ( (binary_expression "(int)*(i16 *)((int)&pWVar56->iBreak + 2) != *piVar47" (cast_expression "(int)*(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) != (pointer_expression "*piVar47" * identifier)) )) ;) (expression_statement "uVar32 = 1 << (uVar21 & 0x1f);" (assignment_expression "uVar32 = 1 << (uVar21 & 0x1f)" identifier = (binary_expression "1 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar21 & 0x20) == 0) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar21 = 0;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }" else (compound_statement "{\n        uVar21 = uVar32;\n        uVar32 = 0;\n      }" { (expression_statement "uVar21 = uVar32;" (assignment_expression "uVar21 = uVar32" identifier = identifier) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) }))) (expression_statement "uStack_194 = uVar32 - 1;" (assignment_expression "uStack_194 = uVar32 - 1" identifier = (binary_expression "uVar32 - 1" identifier - number_literal)) ;) (expression_statement "uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1);" (assignment_expression "uStack_198 = (uint)(uStack_194 < uVar32) + (uVar21 - 1)" identifier = (binary_expression "(uint)(uStack_194 < uVar32) + (uVar21 - 1)" (call_expression "(uint)(uStack_194 < uVar32)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_194 < uVar32)" ( (binary_expression "uStack_194 < uVar32" identifier < identifier) ))) + (parenthesized_expression "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) )))) ;) }))) (expression_statement "uVar38 = (uint)(BVar61 >> 0x20) | uVar21;" (assignment_expression "uVar38 = (uint)(BVar61 >> 0x20) | uVar21" identifier = (binary_expression "(uint)(BVar61 >> 0x20) | uVar21" (call_expression "(uint)(BVar61 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(BVar61 >> 0x20)" ( (binary_expression "BVar61 >> 0x20" identifier >> number_literal) ))) | identifier)) ;) (expression_statement "uVar25 = (uint)BVar61 | uVar32;" (assignment_expression "uVar25 = (uint)BVar61 | uVar32" identifier = (binary_expression "(uint)BVar61 | uVar32" (cast_expression "(uint)BVar61" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (expression_statement "BVar61 = CONCAT44(uVar38,uVar25);" (assignment_expression "BVar61 = CONCAT44(uVar38,uVar25)" identifier = (call_expression "CONCAT44(uVar38,uVar25)" identifier (argument_list "(uVar38,uVar25)" ( identifier , identifier )))) ;) (expression_statement "pWVar34 = (WhereInfo *)(uVar38 << 0x1f);" (assignment_expression "pWVar34 = (WhereInfo *)(uVar38 << 0x1f)" identifier = (cast_expression "(WhereInfo *)(uVar38 << 0x1f)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar38 << 0x1f)" ( (binary_expression "uVar38 << 0x1f" identifier << number_literal) )))) ;) (if_statement "if (uVar21 <= uVar38 >> 1) {\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" if (parenthesized_expression "(uVar21 <= uVar38 >> 1)" ( (binary_expression "uVar21 <= uVar38 >> 1" identifier <= (binary_expression "uVar38 >> 1" identifier >> number_literal)) )) (compound_statement "{\n      if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;\n      if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" { (if_statement "if (uVar21 != uVar38 >> 1) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar21 != uVar38 >> 1)" ( (binary_expression "uVar21 != uVar38 >> 1" identifier != (binary_expression "uVar38 >> 1" identifier >> number_literal)) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) (if_statement "if (uVar32 <= ((uint)pWVar34 | uVar25 >> 1)) {\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }" if (parenthesized_expression "(uVar32 <= ((uint)pWVar34 | uVar25 >> 1))" ( (binary_expression "uVar32 <= ((uint)pWVar34 | uVar25 >> 1)" identifier <= (parenthesized_expression "((uint)pWVar34 | uVar25 >> 1)" ( (binary_expression "(uint)pWVar34 | uVar25 >> 1" (cast_expression "(uint)pWVar34" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar25 >> 1" identifier >> number_literal)) ))) )) (compound_statement "{\n        iVar7 = *(int *)(puVar57 + 0x96b34);\n        goto LAB_000c4c40;\n      }" { (expression_statement "iVar7 = *(int *)(puVar57 + 0x96b34);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96b34)" * (cast_expression "(int *)(puVar57 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b34)" ( (binary_expression "puVar57 + 0x96b34" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c4c40;" goto statement_identifier ;) })) })) }))) (expression_statement "pWVar41 = (WhereInfo *)(BVar61 >> 0x20);" (assignment_expression "pWVar41 = (WhereInfo *)(BVar61 >> 0x20)" identifier = (cast_expression "(WhereInfo *)(BVar61 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BVar61 >> 0x20)" ( (binary_expression "BVar61 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "pWVar36 = (WhereInfo *)BVar61;" (assignment_expression "pWVar36 = (WhereInfo *)BVar61" identifier = (cast_expression "(WhereInfo *)BVar61" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3);" (assignment_expression "puVar55 = (undefined1 *)((int)&psVar53[-1].nStatement + 3)" identifier = (cast_expression "(undefined1 *)((int)&psVar53[-1].nStatement + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar53[-1].nStatement + 3)" ( (binary_expression "(int)&psVar53[-1].nStatement + 3" (cast_expression "(int)&psVar53[-1].nStatement" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar53[-1].nStatement" & (field_expression "psVar53[-1].nStatement" (subscript_expression "psVar53[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "*(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;" (assignment_expression "*(Bitmask *)&pWVar52->savedNQueryLoop = BVar61" (pointer_expression "*(Bitmask *)&pWVar52->savedNQueryLoop" * (cast_expression "(Bitmask *)&pWVar52->savedNQueryLoop" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->savedNQueryLoop" & (field_expression "pWVar52->savedNQueryLoop" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(u16 *)&pWVar52->pResultSet = 0;" (assignment_expression "*(u16 *)&pWVar52->pResultSet = 0" (pointer_expression "*(u16 *)&pWVar52->pResultSet" * (cast_expression "(u16 *)&pWVar52->pResultSet" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->pResultSet" & (field_expression "pWVar52->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(int *)&pWVar52->iLimit = -1;" (assignment_expression "*(int *)&pWVar52->iLimit = -1" (pointer_expression "*(int *)&pWVar52->iLimit" * (cast_expression "(int *)&pWVar52->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pWVar52->pWhere = (Expr *)0xffffffff;" (assignment_expression "pWVar52->pWhere = (Expr *)0xffffffff" (field_expression "pWVar52->pWhere" identifier -> field_identifier) = (cast_expression "(Expr *)0xffffffff" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar44 = pWVar52;" (assignment_expression "pWVar44 = pWVar52" identifier = identifier) ;) (expression_statement "BVar64 = BVar61;" (assignment_expression "BVar64 = BVar61" identifier = identifier) ;) (if_statement "if ((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))) {\n    if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" if (parenthesized_expression "((0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f)))" ( (binary_expression "(0xc < ((uint)puVar55 & 0xff)) || (-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))" (parenthesized_expression "(0xc < ((uint)puVar55 & 0xff))" ( (binary_expression "0xc < ((uint)puVar55 & 0xff)" number_literal < (parenthesized_expression "((uint)puVar55 & 0xff)" ( (binary_expression "(uint)puVar55 & 0xff" (cast_expression "(uint)puVar55" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f)" ( (binary_expression "(0x1f31U >> ((uint)puVar55 & 0x1f)) << 0x1f" (parenthesized_expression "(0x1f31U >> ((uint)puVar55 & 0x1f))" ( (binary_expression "0x1f31U >> ((uint)puVar55 & 0x1f)" number_literal >> (parenthesized_expression "((uint)puVar55 & 0x1f)" ( (binary_expression "(uint)puVar55 & 0x1f" (cast_expression "(uint)puVar55" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n    if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" { (if_statement "if (*(byte *)&pWVar56->pParse == 0x30) {\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }\n    else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" if (parenthesized_expression "(*(byte *)&pWVar56->pParse == 0x30)" ( (binary_expression "*(byte *)&pWVar56->pParse == 0x30" (pointer_expression "*(byte *)&pWVar56->pParse" * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n      iVar7 = *(int *)(puVar57 + 0x96dac);\n      if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n      uVar11 = 0x39;\n      bVar54 = false;\n      iVar45 = *(int *)(puVar57 + 0x96c38);\n      iVar33 = *(int *)(puVar57 + 0x96c78);\n      iVar22 = *(int *)(puVar57 + 0x96c38);\n      pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;\n      while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }\n      psVar53 = (sqlite3 *)0x1;\n      pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);\n      pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);\n      pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);\n      BVar64 = CONCAT44(pWVar41,pWVar35);\n    }" { (expression_statement "iVar7 = *(int *)(puVar57 + 0x96dac);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) ))))) ;) (if_statement "if (*(u8 *)&pWC->pOrderBy != ',') goto LAB_000c4d88;" if (parenthesized_expression "(*(u8 *)&pWC->pOrderBy != ',')" ( (binary_expression "*(u8 *)&pWC->pOrderBy != ','" (pointer_expression "*(u8 *)&pWC->pOrderBy" * (cast_expression "(u8 *)&pWC->pOrderBy" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier)))) != (char_literal "','" ' character ')) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x39;" (assignment_expression "uVar11 = 0x39" identifier = number_literal) ;) (expression_statement "bVar54 = false;" (assignment_expression "bVar54 = false" identifier = false) ;) (expression_statement "iVar45 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = *(int *)(puVar57 + 0x96c78);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar22 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a;" (assignment_expression "pEVar51 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a" identifier = (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->a" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier)) ;) (while_statement "while( true ) {\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        jumpIfNull = (int)pWVar56->pResultSet;\n        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }\n        pWVar34 = (WhereInfo *)pEVar51->pExpr;\n        if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }\n        iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);\n        if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }\n        iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);\n        pEVar51 = pEVar51 + 1;\n        uVar60 = CONCAT44(pWStack_1a4,pEVar51);\n        (*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);\n        pWVar35 = *(WhereTerm **)&pWC->iLimit;\n        pWVar35[iVar15].iParent = (int)pEStack_120;\n        (*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n        (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n        uVar11 = 0x37;\n        if (bVar54) break;\n        bVar54 = true;\n      }" { (expression_statement "jumpIfNull = (int)pWVar56->pResultSet;" (assignment_expression "jumpIfNull = (int)pWVar56->pResultSet" identifier = (cast_expression "(int)pWVar56->pResultSet" ( (type_descriptor "int" primitive_type) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (if_statement "if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }" if (parenthesized_expression "((WhereInfo *)jumpIfNull != (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull != (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);\n        }" { (expression_statement "jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0);" (assignment_expression "jumpIfNull = (*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0)" identifier = (call_expression "(*(code *)(iVar22 + -0x271c))(pWVar9,jumpIfNull,0,0)" (parenthesized_expression "(*(code *)(iVar22 + -0x271c))" ( (pointer_expression "*(code *)(iVar22 + -0x271c)" * (cast_expression "(code *)(iVar22 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x271c)" ( (binary_expression "iVar22 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pWVar9,jumpIfNull,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) })) (expression_statement "pWVar34 = (WhereInfo *)pEVar51->pExpr;" (assignment_expression "pWVar34 = (WhereInfo *)pEVar51->pExpr" identifier = (cast_expression "(WhereInfo *)pEVar51->pExpr" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar51->pExpr" identifier -> field_identifier))) ;) (if_statement "if (pWVar34 != (WhereInfo *)0x0) {\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }" if (parenthesized_expression "(pWVar34 != (WhereInfo *)0x0)" ( (binary_expression "pWVar34 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);\n        }" { (expression_statement "pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0);" (assignment_expression "pWVar34 = (WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0)" identifier = (cast_expression "(WhereInfo *)(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar22 + -0x271c))(pWVar9,pWVar34,0,0)" (parenthesized_expression "(*(code *)(iVar22 + -0x271c))" ( (pointer_expression "*(code *)(iVar22 + -0x271c)" * (cast_expression "(code *)(iVar22 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x271c)" ( (binary_expression "iVar22 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pWVar9,pWVar34,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull);" (assignment_expression "iVar15 = (*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull)" identifier = (call_expression "(*(code *)(iVar33 + 0x26b4))(pParse_00,uVar11,jumpIfNull)" (parenthesized_expression "(*(code *)(iVar33 + 0x26b4))" ( (pointer_expression "*(code *)(iVar33 + 0x26b4)" * (cast_expression "(code *)(iVar33 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x26b4)" ( (binary_expression "iVar33 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pParse_00,uVar11,jumpIfNull)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar15 != 0) {\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          *(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;\n          *(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n        }" { (expression_statement "*(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1;" (assignment_expression "*(uint *)(iVar15 + 4) = *(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar15 + 4)" * (cast_expression "(uint *)(iVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar15 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar15 + 4)" * (cast_expression "(uint *)(iVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) | (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal))) ;) (expression_statement "*(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);" (assignment_expression "*(i16 *)(iVar15 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2)" (pointer_expression "*(i16 *)(iVar15 + 0x26)" * (cast_expression "(i16 *)(iVar15 + 0x26)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x26)" ( (binary_expression "iVar15 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) ;) })) (expression_statement "iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3);" (assignment_expression "iVar15 = (*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3)" identifier = (call_expression "(*(code *)(iVar45 + -0x73f4))(pWC,iVar15,3)" (parenthesized_expression "(*(code *)(iVar45 + -0x73f4))" ( (pointer_expression "*(code *)(iVar45 + -0x73f4)" * (cast_expression "(code *)(iVar45 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x73f4)" ( (binary_expression "iVar45 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pWC,iVar15,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "pEVar51 = pEVar51 + 1;" (assignment_expression "pEVar51 = pEVar51 + 1" identifier = (binary_expression "pEVar51 + 1" identifier + number_literal)) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,pEVar51);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,pEVar51)" identifier = (call_expression "CONCAT44(pWStack_1a4,pEVar51)" identifier (argument_list "(pWStack_1a4,pEVar51)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15);" (call_expression "(*(code *)(iVar7 + 0x4ac8))(pPVar28,pWC,iVar15)" (parenthesized_expression "(*(code *)(iVar7 + 0x4ac8))" ( (pointer_expression "*(code *)(iVar7 + 0x4ac8)" * (cast_expression "(code *)(iVar7 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x4ac8)" ( (binary_expression "iVar7 + 0x4ac8" identifier + number_literal) )))) )) (argument_list "(pPVar28,pWC,iVar15)" ( identifier , identifier , identifier ))) ;) (expression_statement "pWVar35 = *(WhereTerm **)&pWC->iLimit;" (assignment_expression "pWVar35 = *(WhereTerm **)&pWC->iLimit" identifier = (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) ;) (expression_statement "pWVar35[iVar15].iParent = (int)pEStack_120;" (assignment_expression "pWVar35[iVar15].iParent = (int)pEStack_120" (field_expression "pWVar35[iVar15].iParent" (subscript_expression "pWVar35[iVar15]" identifier [ identifier ]) . field_identifier) = (cast_expression "(int)pEStack_120" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;" (assignment_expression "(*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb" (field_expression "(*(WhereTerm **)&pWC->iLimit)[iVar15].truthProb" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[iVar15]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ identifier ]) . field_identifier) = (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) (expression_statement "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';" (assignment_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n             (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01'" (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (binary_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01'" (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "uVar11 = 0x37;" (assignment_expression "uVar11 = 0x37" identifier = number_literal) ;) (if_statement "if (bVar54) break;" if (parenthesized_expression "(bVar54)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar54 = true;" (assignment_expression "bVar54 = true" identifier = true) ;) })) (expression_statement "psVar53 = (sqlite3 *)0x1;" (assignment_expression "psVar53 = (sqlite3 *)0x1" identifier = (cast_expression "(sqlite3 *)0x1" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar42 = (WhereInfo *)(iVar45 + -0x73f4);" (assignment_expression "pWVar42 = (WhereInfo *)(iVar45 + -0x73f4)" identifier = (cast_expression "(WhereInfo *)(iVar45 + -0x73f4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x73f4)" ( (binary_expression "iVar45 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr);" (assignment_expression "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + (int)&pWVar35->pExpr)" ( (binary_expression "(int)&pWStack_19c->pParse + (int)&pWVar35->pExpr" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (cast_expression "(int)&pWVar35->pExpr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar35->pExpr" & (field_expression "pWVar35->pExpr" identifier -> field_identifier)))) )))) ;) (expression_statement "pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8);" (assignment_expression "pWStack_190 = (WhereInfo *)(iVar7 + 0x4ac8)" identifier = (cast_expression "(WhereInfo *)(iVar7 + 0x4ac8)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x4ac8)" ( (binary_expression "iVar7 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "BVar64 = CONCAT44(pWVar41,pWVar35);" (assignment_expression "BVar64 = CONCAT44(pWVar41,pWVar35)" identifier = (call_expression "CONCAT44(pWVar41,pWVar35)" identifier (argument_list "(pWVar41,pWVar35)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" else (compound_statement "{\n      pWVar34 = (WhereInfo *)0x1a0;\n      if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" { (expression_statement "pWVar34 = (WhereInfo *)0x1a0;" (assignment_expression "pWVar34 = (WhereInfo *)0x1a0" identifier = (cast_expression "(WhereInfo *)0x1a0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(byte *)&pWVar56->pParse == 0x2b) {\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" if (parenthesized_expression "(*(byte *)&pWVar56->pParse == 0x2b)" ( (binary_expression "*(byte *)&pWVar56->pParse == 0x2b" (pointer_expression "*(byte *)&pWVar56->pParse" * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n        pWStack_1a4 = (WhereInfo *)pWC->pParse;\n        pPStack_180 = pWStack_1a4->pParse;\n        psVar53 = pPStack_180->db;\n        pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n        pWStack_178 = (WhereInfo *)pWStack_18c->pParse;\n        pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);\n        ((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;\n        pWVar29 = pWStack_18c;\n        pWVar49 = pWStack_1a4;\n        if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;\n        pcVar59 = *(code **)(puVar57 + 0x96eec);\n        *(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;\n        uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);\n        pWVar52->pParse = (Parse *)pWStack_1a4;\n        *(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;\n        pWVar52->pTabList = (SrcList *)0x0;\n        iVar7 = *(int *)(puVar57 + 0x96c38);\n        pWVar52->pResultSet = (ExprList *)0x0;\n        *(undefined4 *)&pWVar52->iLimit = uVar11;\n        pcStack_174 = (code *)(iVar7 + -0x70f0);\n        pWVar52->pWhere = (Expr *)0x8;\n        (*pcStack_174)(pWVar52,pWStack_178,0x2b);\n        pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);\n        if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        (pWVar52->sWC).aStatic[6].leftCursor = -1;\n        uVar32 = 0xffffffff;\n        (pWVar52->sWC).aStatic[6].iParent = -1;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        *(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';\n        pEVar37 = pWVar52->pResultSet;\n        jumpIfNull = -1;\n        pWVar29 = pWVar52;\n        psStack_17c = psVar53;\n        if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" { (expression_statement "pWStack_1a4 = (WhereInfo *)pWC->pParse;" (assignment_expression "pWStack_1a4 = (WhereInfo *)pWC->pParse" identifier = (cast_expression "(WhereInfo *)pWC->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWC->pParse" identifier -> field_identifier))) ;) (expression_statement "pPStack_180 = pWStack_1a4->pParse;" (assignment_expression "pPStack_180 = pWStack_1a4->pParse" identifier = (field_expression "pWStack_1a4->pParse" identifier -> field_identifier)) ;) (expression_statement "psVar53 = pPStack_180->db;" (assignment_expression "psVar53 = pPStack_180->db" identifier = (field_expression "pPStack_180->db" identifier -> field_identifier)) ;) (expression_statement "pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);" (assignment_expression "pWStack_18c = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" identifier = (cast_expression "(WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" ( (binary_expression "*(WhereTerm **)&pWC->iLimit + (int)pEVar46" (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pWStack_178 = (WhereInfo *)pWStack_18c->pParse;" (assignment_expression "pWStack_178 = (WhereInfo *)pWStack_18c->pParse" identifier = (cast_expression "(WhereInfo *)pWStack_18c->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWStack_18c->pParse" identifier -> field_identifier))) ;) (expression_statement "pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53);" (assignment_expression "pWVar52 = (WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53)" identifier = (cast_expression "(WhereInfo *)(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))(psVar53)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + -0x2a40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x2a40)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x2a40" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar53)" ( identifier ))))) ;) (expression_statement "((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52;" (assignment_expression "((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC = (WhereClause *)pWVar52" (field_expression "((WhereTerm *)pWStack_18c->aiCurOnePass)->pWC" (parenthesized_expression "((WhereTerm *)pWStack_18c->aiCurOnePass)" ( (cast_expression "(WhereTerm *)pWStack_18c->aiCurOnePass" ( (type_descriptor "WhereTerm *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWStack_18c->aiCurOnePass" identifier -> field_identifier)) )) -> field_identifier) = (cast_expression "(WhereClause *)pWVar52" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar29 = pWStack_18c;" (assignment_expression "pWVar29 = pWStack_18c" identifier = identifier) ;) (expression_statement "pWVar49 = pWStack_1a4;" (assignment_expression "pWVar49 = pWStack_1a4" identifier = identifier) ;) (if_statement "if (pWVar52 == (WhereInfo *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pWVar52 == (WhereInfo *)0x0)" ( (binary_expression "pWVar52 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pcVar59 = *(code **)(puVar57 + 0x96eec);" (assignment_expression "pcVar59 = *(code **)(puVar57 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar57 + 0x96eec)" * (cast_expression "(code **)(puVar57 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96eec)" ( (binary_expression "puVar57 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "*(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10;" (assignment_expression "*(ushort *)((int)&pWStack_18c->pOrderBy + 2) =\n             *(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10" (pointer_expression "*(ushort *)((int)&pWStack_18c->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWStack_18c->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_18c->pOrderBy + 2)" ( (binary_expression "(int)&pWStack_18c->pOrderBy + 2" (cast_expression "(int)&pWStack_18c->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_18c->pOrderBy" & (field_expression "pWStack_18c->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(ushort *)((int)&pWStack_18c->pOrderBy + 2) | 0x10" (pointer_expression "*(ushort *)((int)&pWStack_18c->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWStack_18c->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_18c->pOrderBy + 2)" ( (binary_expression "(int)&pWStack_18c->pOrderBy + 2" (cast_expression "(int)&pWStack_18c->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_18c->pOrderBy" & (field_expression "pWStack_18c->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) (expression_statement "uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180);" (assignment_expression "uVar11 = (*pcVar59)(pWVar52->aiCurOnePass,0,0x180)" identifier = (call_expression "(*pcVar59)(pWVar52->aiCurOnePass,0,0x180)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pWVar52->aiCurOnePass,0,0x180)" ( (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) , number_literal , number_literal )))) ;) (expression_statement "pWVar52->pParse = (Parse *)pWStack_1a4;" (assignment_expression "pWVar52->pParse = (Parse *)pWStack_1a4" (field_expression "pWVar52->pParse" identifier -> field_identifier) = (cast_expression "(Parse *)pWStack_1a4" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&pWVar52->pOrderBy + 1) = 0" (pointer_expression "*(undefined1 *)((int)&pWVar52->pOrderBy + 1)" * (cast_expression "(undefined1 *)((int)&pWVar52->pOrderBy + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 1)" ( (binary_expression "(int)&pWVar52->pOrderBy + 1" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pWVar52->pTabList = (SrcList *)0x0;" (assignment_expression "pWVar52->pTabList = (SrcList *)0x0" (field_expression "pWVar52->pTabList" identifier -> field_identifier) = (cast_expression "(SrcList *)0x0" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "pWVar52->pResultSet = (ExprList *)0x0;" (assignment_expression "pWVar52->pResultSet = (ExprList *)0x0" (field_expression "pWVar52->pResultSet" identifier -> field_identifier) = (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&pWVar52->iLimit = uVar11;" (assignment_expression "*(undefined4 *)&pWVar52->iLimit = uVar11" (pointer_expression "*(undefined4 *)&pWVar52->iLimit" * (cast_expression "(undefined4 *)&pWVar52->iLimit" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pcStack_174 = (code *)(iVar7 + -0x70f0);" (assignment_expression "pcStack_174 = (code *)(iVar7 + -0x70f0)" identifier = (cast_expression "(code *)(iVar7 + -0x70f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x70f0)" ( (binary_expression "iVar7 + -0x70f0" identifier + number_literal) )))) ;) (expression_statement "pWVar52->pWhere = (Expr *)0x8;" (assignment_expression "pWVar52->pWhere = (Expr *)0x8" (field_expression "pWVar52->pWhere" identifier -> field_identifier) = (cast_expression "(Expr *)0x8" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_174)(pWVar52,pWStack_178,0x2b);" (call_expression "(*pcStack_174)(pWVar52,pWStack_178,0x2b)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pWVar52,pWStack_178,0x2b)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3);" (assignment_expression "pWVar49 = (WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3)" ( (binary_expression "(int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg + 3" (cast_expression "(int)&pWVar52->pResultSet[-1].a[0].u.iConstExprReg" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pResultSet[-1].a[0].u.iConstExprReg" & (field_expression "pWVar52->pResultSet[-1].a[0].u.iConstExprReg" (field_expression "pWVar52->pResultSet[-1].a[0].u" (subscript_expression "pWVar52->pResultSet[-1].a[0]" (field_expression "pWVar52->pResultSet[-1].a" (subscript_expression "pWVar52->pResultSet[-1]" (field_expression "pWVar52->pResultSet" identifier -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) ;) (if_statement "if ((int)pWVar49 < 0) {\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }\n        else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" if (parenthesized_expression "((int)pWVar49 < 0)" ( (binary_expression "(int)pWVar49 < 0" (cast_expression "(int)pWVar49" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pWVar42 = pWStack_18c;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n        }" { (expression_statement "pWVar42 = pWStack_18c;" (assignment_expression "pWVar42 = pWStack_18c" identifier = identifier) ;) (if_statement "if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;" if (parenthesized_expression "(psVar53->mallocFailed != '\0')" ( (binary_expression "psVar53->mallocFailed != '\0'" (field_expression "psVar53->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) }) (else_clause "else {\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" else (compound_statement "{\n          jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;\n          BVar61 = CONCAT44(jumpIfNull,pWStack_18c);\n          do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);\n          pWVar49 = (WhereInfo *)0xffffffff;\n          pWVar29 = (WhereInfo *)0xffffffff;\n          pWStack_190 = (WhereInfo *)jumpIfNull;\n          if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;\n          in_t2 = (WhereInfo *)pWVar52->pResultSet;\n          pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);\n          pWVar44 = *(WhereInfo **)&pWVar52->iLimit;\n          pWVar42 = (WhereInfo *)0xffffffff;\n          if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" { (expression_statement "jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8;" (assignment_expression "jumpIfNull = *(int *)(puVar57 + 0x96dac) + 0x4ac8" identifier = (binary_expression "*(int *)(puVar57 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "BVar61 = CONCAT44(jumpIfNull,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(jumpIfNull,pWStack_18c)" identifier = (call_expression "CONCAT44(jumpIfNull,pWStack_18c)" identifier (argument_list "(jumpIfNull,pWStack_18c)" ( identifier , identifier )))) ;) (do_statement "do {\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          } while (puVar55 != (undefined1 *)0xffffffff);" do (compound_statement "{\n            puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);\n            pWVar49 = (WhereInfo *)puVar55;\n          }" { (expression_statement "puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7);" (assignment_expression "puVar55 = (undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7)" identifier = (cast_expression "(undefined1 *)((int)&pWVar49[-1].a[0].notReady + 7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar49[-1].a[0].notReady + 7)" ( (binary_expression "(int)&pWVar49[-1].a[0].notReady + 7" (cast_expression "(int)&pWVar49[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar49[-1].a[0].notReady" & (field_expression "pWVar49[-1].a[0].notReady" (subscript_expression "pWVar49[-1].a[0]" (field_expression "pWVar49[-1].a" (subscript_expression "pWVar49[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49);" (call_expression "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49)" identifier (argument_list "((SrcList *)pPVar28,(WhereClause *)pWVar52,(int)pWVar49)" ( (cast_expression "(SrcList *)pPVar28" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(WhereClause *)pWVar52" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pWVar49" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "pWVar49 = (WhereInfo *)puVar55;" (assignment_expression "pWVar49 = (WhereInfo *)puVar55" identifier = (cast_expression "(WhereInfo *)puVar55" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(puVar55 != (undefined1 *)0xffffffff)" ( (binary_expression "puVar55 != (undefined1 *)0xffffffff" identifier != (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pWVar49 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar49 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar29 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar29 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWStack_190 = (WhereInfo *)jumpIfNull;" (assignment_expression "pWStack_190 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar53->mallocFailed != '\0') goto LAB_000c5c2c;" if (parenthesized_expression "(psVar53->mallocFailed != '\0')" ( (binary_expression "psVar53->mallocFailed != '\0'" (field_expression "psVar53->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "in_t2 = (WhereInfo *)pWVar52->pResultSet;" (assignment_expression "in_t2 = (WhereInfo *)pWVar52->pResultSet" identifier = (cast_expression "(WhereInfo *)pWVar52->pResultSet" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar52->pResultSet" identifier -> field_identifier))) ;) (expression_statement "pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7);" (assignment_expression "pWVar49 = (WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7)" identifier = (cast_expression "(WhereInfo *)((int)&in_t2[-1].a[0].notReady + 7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2[-1].a[0].notReady + 7)" ( (binary_expression "(int)&in_t2[-1].a[0].notReady + 7" (cast_expression "(int)&in_t2[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2[-1].a[0].notReady" & (field_expression "in_t2[-1].a[0].notReady" (subscript_expression "in_t2[-1].a[0]" (field_expression "in_t2[-1].a" (subscript_expression "in_t2[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pWVar44 = *(WhereInfo **)&pWVar52->iLimit;" (assignment_expression "pWVar44 = *(WhereInfo **)&pWVar52->iLimit" identifier = (pointer_expression "*(WhereInfo **)&pWVar52->iLimit" * (cast_expression "(WhereInfo **)&pWVar52->iLimit" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier))))) ;) (expression_statement "pWVar42 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar42 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < (int)pWVar49) {\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" if (parenthesized_expression "(-1 < (int)pWVar49)" ( (binary_expression "-1 < (int)pWVar49" number_literal < (cast_expression "(int)pWVar49" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            uVar32 = 0xffffffff;\n            pWStack_188 = (WhereInfo *)0xffffffff;\n            jumpIfNull = -1;\n            pBStack_184 = (Bitmask *)0xffffffff;\n            pWVar42 = (WhereInfo *)0xffffffff;\n            psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" { (expression_statement "uVar32 = 0xffffffff;" (assignment_expression "uVar32 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pWStack_188 = (WhereInfo *)0xffffffff;" (assignment_expression "pWStack_188 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "jumpIfNull = -1;" (assignment_expression "jumpIfNull = -1" identifier = number_literal) ;) (expression_statement "pBStack_184 = (Bitmask *)0xffffffff;" (assignment_expression "pBStack_184 = (Bitmask *)0xffffffff" identifier = (cast_expression "(Bitmask *)0xffffffff" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar42 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar42 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10);" (assignment_expression "psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puVar57 + 0x96c10) + -0x2b10)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x2b10)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x2b10" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) })) }))) (expression_statement "(pWVar52->sWC).aStatic[6].leftCursor = -1;" (assignment_expression "(pWVar52->sWC).aStatic[6].leftCursor = -1" (field_expression "(pWVar52->sWC).aStatic[6].leftCursor" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "uVar32 = 0xffffffff;" (assignment_expression "uVar32 = 0xffffffff" identifier = number_literal) ;) (expression_statement "(pWVar52->sWC).aStatic[6].iParent = -1;" (assignment_expression "(pWVar52->sWC).aStatic[6].iParent = -1" (field_expression "(pWVar52->sWC).aStatic[6].iParent" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "*(undefined2 *)&pWStack_18c->pResultSet = 0x200;" (assignment_expression "*(undefined2 *)&pWStack_18c->pResultSet = 0x200" (pointer_expression "*(undefined2 *)&pWStack_18c->pResultSet" * (cast_expression "(undefined2 *)&pWStack_18c->pResultSet" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWStack_18c->pResultSet" & (field_expression "pWStack_18c->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';" (assignment_expression "*(u8 *)((int)&pWC->pOrderBy + 1) = '\x01'" (pointer_expression "*(u8 *)((int)&pWC->pOrderBy + 1)" * (cast_expression "(u8 *)((int)&pWC->pOrderBy + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWC->pOrderBy + 1)" ( (binary_expression "(int)&pWC->pOrderBy + 1" (cast_expression "(int)&pWC->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pEVar37 = pWVar52->pResultSet;" (assignment_expression "pEVar37 = pWVar52->pResultSet" identifier = (field_expression "pWVar52->pResultSet" identifier -> field_identifier)) ;) (expression_statement "jumpIfNull = -1;" (assignment_expression "jumpIfNull = -1" identifier = number_literal) ;) (expression_statement "pWVar29 = pWVar52;" (assignment_expression "pWVar29 = pWVar52" identifier = identifier) ;) (expression_statement "psStack_17c = psVar53;" (assignment_expression "psStack_17c = psVar53" identifier = identifier) ;) (if_statement "if (pEVar37 != (ExprList *)0x2) goto LAB_000c5b7c;" if (parenthesized_expression "(pEVar37 != (ExprList *)0x2)" ( (binary_expression "pEVar37 != (ExprList *)0x2" identifier != (cast_expression "(ExprList *)0x2" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b7c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6e58;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) })) (expression_statement "pEVar23 = (Expr *)pWVar56->pResultSet;" (assignment_expression "pEVar23 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (if_statement "if (pEVar23 != (Expr *)0x0) {\n    uVar32 = pEVar23->flags;\n    while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }\n  }" if (parenthesized_expression "(pEVar23 != (Expr *)0x0)" ( (binary_expression "pEVar23 != (Expr *)0x0" identifier != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar32 = pEVar23->flags;\n    while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }\n  }" { (expression_statement "uVar32 = pEVar23->flags;" (assignment_expression "uVar32 = pEVar23->flags" identifier = (field_expression "pEVar23->flags" identifier -> field_identifier)) ;) (while_statement "while ((uVar32 & 0x1000) != 0) {\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }" while (parenthesized_expression "((uVar32 & 0x1000) != 0)" ( (binary_expression "(uVar32 & 0x1000) != 0" (parenthesized_expression "(uVar32 & 0x1000)" ( (binary_expression "uVar32 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }\n      if (pEVar23 == (Expr *)0x0) break;\n      uVar32 = pEVar23->flags;\n    }" { (if_statement "if ((uVar32 & 0x40000) == 0) {\n        pEVar23 = pEVar23->pLeft;\n      }\n      else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }" if (parenthesized_expression "((uVar32 & 0x40000) == 0)" ( (binary_expression "(uVar32 & 0x40000) == 0" (parenthesized_expression "(uVar32 & 0x40000)" ( (binary_expression "uVar32 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pEVar23 = pEVar23->pLeft;\n      }" { (expression_statement "pEVar23 = pEVar23->pLeft;" (assignment_expression "pEVar23 = pEVar23->pLeft" identifier = (field_expression "pEVar23->pLeft" identifier -> field_identifier)) ;) }) (else_clause "else {\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }" else (compound_statement "{\n        pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;\n      }" { (expression_statement "pEVar23 = ((pEVar23->x).pList)->a[0].pExpr;" (assignment_expression "pEVar23 = ((pEVar23->x).pList)->a[0].pExpr" identifier = (field_expression "((pEVar23->x).pList)->a[0].pExpr" (subscript_expression "((pEVar23->x).pList)->a[0]" (field_expression "((pEVar23->x).pList)->a" (parenthesized_expression "((pEVar23->x).pList)" ( (field_expression "(pEVar23->x).pList" (parenthesized_expression "(pEVar23->x)" ( (field_expression "pEVar23->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier)) ;) }))) (if_statement "if (pEVar23 == (Expr *)0x0) break;" if (parenthesized_expression "(pEVar23 == (Expr *)0x0)" ( (binary_expression "pEVar23 == (Expr *)0x0" identifier == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar32 = pEVar23->flags;" (assignment_expression "uVar32 = pEVar23->flags" identifier = (field_expression "pEVar23->flags" identifier -> field_identifier)) ;) })) })) (expression_statement "jumpIfNull = (int)pWVar56->pWhere;" (assignment_expression "jumpIfNull = (int)pWVar56->pWhere" identifier = (cast_expression "(int)pWVar56->pWhere" ( (type_descriptor "int" primitive_type) ) (field_expression "pWVar56->pWhere" identifier -> field_identifier))) ;) (if_statement "if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) {\n    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }\n  }" if (parenthesized_expression "((WhereInfo *)jumpIfNull != (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull != (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }\n  }" { (expression_statement "pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;" (assignment_expression "pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList" identifier = (cast_expression "(WhereClause *)((WhereInfo *)jumpIfNull)->pTabList" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pTabList" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (while_statement "while (((uint)pWVar12 & 0x1000) != 0) {\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }" while (parenthesized_expression "(((uint)pWVar12 & 0x1000) != 0)" ( (binary_expression "((uint)pWVar12 & 0x1000) != 0" (parenthesized_expression "((uint)pWVar12 & 0x1000)" ( (binary_expression "(uint)pWVar12 & 0x1000" (cast_expression "(uint)pWVar12" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;\n      pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;\n    }" { (if_statement "if (((uint)pWVar12 & 0x40000) == 0) {\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }\n      else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }" if (parenthesized_expression "(((uint)pWVar12 & 0x40000) == 0)" ( (binary_expression "((uint)pWVar12 & 0x40000) == 0" (parenthesized_expression "((uint)pWVar12 & 0x40000)" ( (binary_expression "(uint)pWVar12 & 0x40000" (cast_expression "(uint)pWVar12" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;\n      }" { (expression_statement "jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "jumpIfNull = (int)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(int)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "int" primitive_type) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) }) (else_clause "else {\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }" else (compound_statement "{\n        jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;\n      }" { (expression_statement "jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr;" (assignment_expression "jumpIfNull = (int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr" identifier = (cast_expression "(int)((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0].pExpr" (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a[0]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList->a" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)->\n                          pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&((WhereInfo *)jumpIfNull)->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->iLimit" & (field_expression "((WhereInfo *)jumpIfNull)->iLimit" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) )) -> field_identifier) -> field_identifier) [ number_literal ]) . field_identifier))) ;) }))) (if_statement "if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) break;" if (parenthesized_expression "((WhereInfo *)jumpIfNull == (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull == (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList;" (assignment_expression "pWVar12 = (WhereClause *)((WhereInfo *)jumpIfNull)->pTabList" identifier = (cast_expression "(WhereClause *)((WhereInfo *)jumpIfNull)->pTabList" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pTabList" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) })) })) (expression_statement "uVar26 = 0x1fff;" (assignment_expression "uVar26 = 0x1fff" identifier = number_literal) ;) (if_statement "if ((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0) {\n    uVar26 = 0x800;\n  }" if (parenthesized_expression "((pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0)" ( (binary_expression "(pWVar52->iContinue & (uint)pWStack_1a4) != 0 || (pWVar52->iBreak & (uint)pWVar49) != 0" (binary_expression "(pWVar52->iContinue & (uint)pWStack_1a4) != 0" (parenthesized_expression "(pWVar52->iContinue & (uint)pWStack_1a4)" ( (binary_expression "pWVar52->iContinue & (uint)pWStack_1a4" (field_expression "pWVar52->iContinue" identifier -> field_identifier) & (cast_expression "(uint)pWStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) || (binary_expression "(pWVar52->iBreak & (uint)pWVar49) != 0" (parenthesized_expression "(pWVar52->iBreak & (uint)pWVar49)" ( (binary_expression "pWVar52->iBreak & (uint)pWVar49" (field_expression "pWVar52->iBreak" identifier -> field_identifier) & (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal)) )) (compound_statement "{\n    uVar26 = 0x800;\n  }" { (expression_statement "uVar26 = 0x800;" (assignment_expression "uVar26 = 0x800" identifier = number_literal) ;) })) (if_statement "if (0 < pWVar52->aiCurOnePass[0]) {\n    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;\n  }" if (parenthesized_expression "(0 < pWVar52->aiCurOnePass[0])" ( (binary_expression "0 < pWVar52->aiCurOnePass[0]" number_literal < (subscript_expression "pWVar52->aiCurOnePass[0]" (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) )) (compound_statement "{\n    pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;\n  }" { (expression_statement "pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr;" (assignment_expression "pEVar23 = ((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr" identifier = (field_expression "((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1].pExpr" (subscript_expression "((pEVar23->x).pList)->a[pWVar52->aiCurOnePass[0] + -1]" (field_expression "((pEVar23->x).pList)->a" (parenthesized_expression "((pEVar23->x).pList)" ( (field_expression "(pEVar23->x).pList" (parenthesized_expression "(pEVar23->x)" ( (field_expression "pEVar23->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ (binary_expression "pWVar52->aiCurOnePass[0] + -1" (subscript_expression "pWVar52->aiCurOnePass[0]" (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) [ number_literal ]) + number_literal) ]) . field_identifier)) ;) })) (expression_statement "iVar45 = *(int *)(puVar57 + 0x96c4c);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c4c)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c4c)" * (cast_expression "(int *)(puVar57 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c4c)" ( (binary_expression "puVar57 + 0x96c4c" identifier + number_literal) ))))) ;) (expression_statement "pWVar34 = pWVar49;" (assignment_expression "pWVar34 = pWVar49" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53);" (assignment_expression "iVar7 = (*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53)" identifier = (call_expression "(*(code *)(iVar45 + -0x28cc))\n                    (pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53)" (parenthesized_expression "(*(code *)(iVar45 + -0x28cc))" ( (pointer_expression "*(code *)(iVar45 + -0x28cc)" * (cast_expression "(code *)(iVar45 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x28cc)" ( (binary_expression "iVar45 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pPVar28,0x800,pWStack_1a4,pWVar49,(WhereInfo *)&pPStack_160,pEVar23,psVar53)" ( identifier , number_literal , identifier , identifier , (cast_expression "(WhereInfo *)&pPStack_160" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_160" & identifier)) , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n    *(Parse **)&pWVar52->iLimit = pPStack_160;\n    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    *(Parse **)&pWVar52->iLimit = pPStack_160;\n    *(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;\n    if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;\n  }" { (expression_statement "*(Parse **)&pWVar52->iLimit = pPStack_160;" (assignment_expression "*(Parse **)&pWVar52->iLimit = pPStack_160" (pointer_expression "*(Parse **)&pWVar52->iLimit" * (cast_expression "(Parse **)&pWVar52->iLimit" ( (type_descriptor "Parse **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;" (assignment_expression "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c" (pointer_expression "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1)" * (cast_expression "(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1)" ( (type_descriptor "anon_union_4_3_737c4e49_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pWVar52->aiCurOnePass + 1)" ( (binary_expression "pWVar52->aiCurOnePass + 1" (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (psVar53 == (sqlite3 *)&DAT_00000031) {\n      uVar17 = 1;\n    }\n    else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }" if (parenthesized_expression "(psVar53 == (sqlite3 *)&DAT_00000031)" ( (binary_expression "psVar53 == (sqlite3 *)&DAT_00000031" identifier == (cast_expression "(sqlite3 *)&DAT_00000031" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (compound_statement "{\n      uVar17 = 1;\n    }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }" else (compound_statement "{\n      uVar17 = 0x100;\n      if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }\n    }" { (expression_statement "uVar17 = 0x100;" (assignment_expression "uVar17 = 0x100" identifier = number_literal) ;) (if_statement "if (psVar53 != (sqlite3 *)0x32) {\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }" if (parenthesized_expression "(psVar53 != (sqlite3 *)0x32)" ( (binary_expression "psVar53 != (sqlite3 *)0x32" identifier != (cast_expression "(sqlite3 *)0x32" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }\n      }" { (if_statement "if (psVar53 == (sqlite3 *)0x2d) {\n          uVar17 = 0x80;\n        }\n        else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }" if (parenthesized_expression "(psVar53 == (sqlite3 *)0x2d)" ( (binary_expression "psVar53 == (sqlite3 *)0x2d" identifier == (cast_expression "(sqlite3 *)0x2d" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar17 = 0x80;\n        }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }" else (compound_statement "{\n          uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));\n        }" { (expression_statement "uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f));" (assignment_expression "uVar17 = (ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f))" identifier = (call_expression "(ushort)(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f))" ( (binary_expression "2 << ((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f)" number_literal << (parenthesized_expression "((uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f)" ( (binary_expression "(uint)((int)&psVar53[-1].busyTimeout + 3U) & 0x1f" (call_expression "(uint)((int)&psVar53[-1].busyTimeout + 3U)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&psVar53[-1].busyTimeout + 3U)" ( (binary_expression "(int)&psVar53[-1].busyTimeout + 3U" (cast_expression "(int)&psVar53[-1].busyTimeout" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar53[-1].busyTimeout" & (field_expression "psVar53[-1].busyTimeout" (subscript_expression "psVar53[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) & number_literal) ))) )))) ;) }))) })) }))) (expression_statement "*(ushort *)&pWVar52->pResultSet = uVar26 & uVar17;" (assignment_expression "*(ushort *)&pWVar52->pResultSet = uVar26 & uVar17" (pointer_expression "*(ushort *)&pWVar52->pResultSet" * (cast_expression "(ushort *)&pWVar52->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->pResultSet" & (field_expression "pWVar52->pResultSet" identifier -> field_identifier)))) = (binary_expression "uVar26 & uVar17" identifier & identifier)) ;) })) (if_statement "if (psVar53 == (sqlite3 *)0x2d) {\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n  }" if (parenthesized_expression "(psVar53 == (sqlite3 *)0x2d)" ( (binary_expression "psVar53 == (sqlite3 *)0x2d" identifier == (cast_expression "(sqlite3 *)0x2d" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n  }" { (expression_statement "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;" (assignment_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) })) (expression_statement "pWVar42 = (WhereInfo *)&pPStack_160;" (assignment_expression "pWVar42 = (WhereInfo *)&pPStack_160" identifier = (cast_expression "(WhereInfo *)&pPStack_160" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_160" & identifier))) ;) (expression_statement "pWStack_190 = pWVar41;" (assignment_expression "pWStack_190 = pWVar41" identifier = identifier) ;) (expression_statement "pWStack_18c = pWVar36;" (assignment_expression "pWStack_18c = pWVar36" identifier = identifier) ;) (if_statement "if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4d78;" if (parenthesized_expression "((WhereInfo *)jumpIfNull == (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull == (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "pWVar34 = (WhereInfo *)pWVar52->iBreak;" (assignment_expression "pWVar34 = (WhereInfo *)pWVar52->iBreak" identifier = (cast_expression "(WhereInfo *)pWVar52->iBreak" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar52->iBreak" identifier -> field_identifier))) ;) (expression_statement "pWVar65 = (WhereInfo *)&pPStack_160;" (assignment_expression "pWVar65 = (WhereInfo *)&pPStack_160" identifier = (cast_expression "(WhereInfo *)&pPStack_160" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_160" & identifier))) ;) (expression_statement "pWVar66 = (WhereInfo *)jumpIfNull;" (assignment_expression "pWVar66 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar50 = psVar53;" (assignment_expression "psVar50 = psVar53" identifier = identifier) ;) (expression_statement "iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28);" (assignment_expression "iVar7 = (*(code *)(iVar45 + -0x28cc))(pPVar28)" identifier = (call_expression "(*(code *)(iVar45 + -0x28cc))(pPVar28)" (parenthesized_expression "(*(code *)(iVar45 + -0x28cc))" ( (pointer_expression "*(code *)(iVar45 + -0x28cc)" * (cast_expression "(code *)(iVar45 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x28cc)" ( (binary_expression "iVar45 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pPVar28)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) goto LAB_000c4d78;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "BVar2 = BVar61;" (assignment_expression "BVar2 = BVar61" identifier = identifier) ;) (if_statement "if (*(int *)&pWVar52->iLimit < 0) {\n    pEVar46 = (Expr *)pWVar56->pResultSet;\n    uVar32 = 0;\n    jumpIfNull = (int)pWVar56;\n  }\n  else {\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }" if (parenthesized_expression "(*(int *)&pWVar52->iLimit < 0)" ( (binary_expression "*(int *)&pWVar52->iLimit < 0" (pointer_expression "*(int *)&pWVar52->iLimit" * (cast_expression "(int *)&pWVar52->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) < number_literal) )) (compound_statement "{\n    pEVar46 = (Expr *)pWVar56->pResultSet;\n    uVar32 = 0;\n    jumpIfNull = (int)pWVar56;\n  }" { (expression_statement "pEVar46 = (Expr *)pWVar56->pResultSet;" (assignment_expression "pEVar46 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "jumpIfNull = (int)pWVar56;" (assignment_expression "jumpIfNull = (int)pWVar56" identifier = (cast_expression "(int)pWVar56" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }" else (compound_statement "{\n    pWVar34 = (WhereInfo *)0x0;\n    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);\n    BVar64 = BVar61;\n    if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }\n    pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);\n    if (iVar7 == 0) goto LAB_000c4c58;\n    pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);\n    pWVar52->pWhere = pEStack_120;\n    (*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;\n    (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';\n    if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }\n    pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);\n    *(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;\n    uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;\n    uVar32 = uVar17 & 0x80;\n    if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }\n  }" { (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50);" (assignment_expression "jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                           (pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWVar9,pWVar56,0,0,pWVar65,pWVar66,psVar50)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "BVar64 = BVar61;" (assignment_expression "BVar64 = BVar61" identifier = identifier) ;) (if_statement "if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0') {\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "(*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0')" ( (binary_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) != '\0'" (pointer_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" * (cast_expression "(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pWVar9->sWC).pWInfo + 1)" ( (binary_expression "(int)&(pWVar9->sWC).pWInfo + 1" (cast_expression "(int)&(pWVar9->sWC).pWInfo" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pWVar9->sWC).pWInfo" & (field_expression "(pWVar9->sWC).pWInfo" (parenthesized_expression "(pWVar9->sWC)" ( (field_expression "pWVar9->sWC" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pWVar42 = pWVar9;\n      if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);\n      goto LAB_000c4c58;\n    }" { (expression_statement "pWVar42 = pWVar9;" (assignment_expression "pWVar42 = pWVar9" identifier = identifier) ;) (if_statement "if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) goto LAB_000c4c58;" if (parenthesized_expression "((WhereInfo *)jumpIfNull == (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull == (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))(pWVar9,jumpIfNull)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96bf8) + 0x7bc4)" ( (binary_expression "*(int *)(puVar57 + 0x96bf8) + 0x7bc4" (pointer_expression "*(int *)(puVar57 + 0x96bf8)" * (cast_expression "(int *)(puVar57 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bf8)" ( (binary_expression "puVar57 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWVar9,jumpIfNull)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (expression_statement "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);" (assignment_expression "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3);" (assignment_expression "iVar7 = (*(code *)pWVar42)(pWC,jumpIfNull,3)" identifier = (call_expression "(*(code *)pWVar42)(pWC,jumpIfNull,3)" (parenthesized_expression "(*(code *)pWVar42)" ( (pointer_expression "*(code *)pWVar42" * (cast_expression "(code *)pWVar42" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pWC,jumpIfNull,3)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar7 == 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7);" (assignment_expression "pWVar52 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7)" identifier = (cast_expression "(WhereInfo *)(*(WhereTerm **)&pWC->iLimit + iVar7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit + iVar7)" ( (binary_expression "*(WhereTerm **)&pWC->iLimit + iVar7" (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + identifier) )))) ;) (expression_statement "pWVar52->pWhere = pEStack_120;" (assignment_expression "pWVar52->pWhere = pEStack_120" (field_expression "pWVar52->pWhere" identifier -> field_identifier) = identifier) ;) (expression_statement "(*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb;" (assignment_expression "(*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb" (field_expression "(*(WhereTerm **)&pWC->iLimit)[iVar7].truthProb" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[iVar7]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ identifier ]) . field_identifier) = (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].truthProb" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) (expression_statement "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01';" (assignment_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild =\n         (*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01'" (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (binary_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild + '\x01'" (field_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46].nChild" (subscript_expression "(*(WhereTerm **)&pWC->iLimit)[(int)pEVar46]" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) [ (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) + (char_literal "'\x01'" ' escape_sequence '))) ;) (if_statement "if (psVar53 == (sqlite3 *)0x2d) {\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }" if (parenthesized_expression "(psVar53 == (sqlite3 *)0x2d)" ( (binary_expression "psVar53 == (sqlite3 *)0x2d" identifier == (cast_expression "(sqlite3 *)0x2d" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;\n    }" { (expression_statement "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800;" (assignment_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) | 0x800" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) })) (expression_statement "pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46);" (assignment_expression "pWVar44 = (WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" identifier = (cast_expression "(WhereInfo *)(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit + (int)pEVar46)" ( (binary_expression "*(WhereTerm **)&pWC->iLimit + (int)pEVar46" (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (cast_expression "(int)pEVar46" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8;" (assignment_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2) = *(u16 *)((int)&pWVar44->pOrderBy + 2) | 8" (pointer_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2) | 8" (pointer_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) (expression_statement "uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c;" (assignment_expression "uVar17 = *(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c" identifier = (pointer_expression "*(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c" * (cast_expression "(ushort *)&((WhereInfo *)pParse_00->pParse)->field_0x4c" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)pParse_00->pParse)->field_0x4c" & (field_expression "((WhereInfo *)pParse_00->pParse)->field_0x4c" (parenthesized_expression "((WhereInfo *)pParse_00->pParse)" ( (cast_expression "(WhereInfo *)pParse_00->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse_00->pParse" identifier -> field_identifier)) )) -> field_identifier))))) ;) (expression_statement "uVar32 = uVar17 & 0x80;" (assignment_expression "uVar32 = uVar17 & 0x80" identifier = (binary_expression "uVar17 & 0x80" identifier & number_literal)) ;) (if_statement "if ((uVar17 & 0x80) == 0) {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }\n    else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }" if (parenthesized_expression "((uVar17 & 0x80) == 0)" ( (binary_expression "(uVar17 & 0x80) == 0" (parenthesized_expression "(uVar17 & 0x80)" ( (binary_expression "uVar17 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }\n    }" { (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (if_statement "if (((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)) {\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }" if (parenthesized_expression "(((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0))" ( (binary_expression "((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)) &&\n         (((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)" (parenthesized_expression "((*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d))" ( (binary_expression "(*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35) ||\n          (*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)" (parenthesized_expression "(*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35)" ( (binary_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x35" (pointer_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse" * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) == number_literal) )) || (parenthesized_expression "(*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d)" ( (binary_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse == 0x2d" (pointer_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse" * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) == number_literal) ))) )) && (parenthesized_expression "(((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0)" ( (binary_expression "((uint)((WhereInfo *)jumpIfNull)->pTabList & 1) == 0" (parenthesized_expression "((uint)((WhereInfo *)jumpIfNull)->pTabList & 1)" ( (binary_expression "(uint)((WhereInfo *)jumpIfNull)->pTabList & 1" (field_expression "(uint)((WhereInfo *)jumpIfNull)->pTabList" (call_expression "(uint)((WhereInfo *)jumpIfNull)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n        iVar7 = (*pcVar59)(pEVar46);\n        iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);\n        pWStack_188 = pWVar36;\n        if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);\n        if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }\n        pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        BVar2 = BVar61;\n      }" { (expression_statement "pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914);" (assignment_expression "pcVar59 = (code *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" identifier = (cast_expression "(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar57 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar57 + 0x96b94)" * (cast_expression "(int *)(puVar57 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b94)" ( (binary_expression "puVar57 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar7 = (*pcVar59)(pEVar46);" (assignment_expression "iVar7 = (*pcVar59)(pEVar46)" identifier = (call_expression "(*pcVar59)(pEVar46)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pEVar46)" ( identifier )))) ;) (expression_statement "iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere);" (assignment_expression "iVar45 = (*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere)" identifier = (call_expression "(*pcVar59)(((WhereInfo *)jumpIfNull)->pWhere)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(((WhereInfo *)jumpIfNull)->pWhere)" ( (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )))) ;) (expression_statement "pWStack_188 = pWVar36;" (assignment_expression "pWStack_188 = pWVar36" identifier = identifier) ;) (if_statement "if (iVar7 == iVar45) {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }\n        else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }" if (parenthesized_expression "(iVar7 == iVar45)" ( (binary_expression "iVar7 == iVar45" identifier == identifier) )) (compound_statement "{\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n        }" { (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) }) (else_clause "else {\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }" else (compound_statement "{\n          pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n          BVar2 = CONCAT44(pcVar59,pWVar41);\n          if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;\n        }" { (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "BVar2 = CONCAT44(pcVar59,pWVar41);" (assignment_expression "BVar2 = CONCAT44(pcVar59,pWVar41)" identifier = (call_expression "CONCAT44(pcVar59,pWVar41)" identifier (argument_list "(pcVar59,pWVar41)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))\n          goto LAB_000c5710;" if (parenthesized_expression "((iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43))" ( (binary_expression "(iVar7 < 0x43) || (BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43)" (parenthesized_expression "(iVar7 < 0x43)" ( (binary_expression "iVar7 < 0x43" identifier < number_literal) )) || (parenthesized_expression "(BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43)" ( (comma_expression "BVar2 = CONCAT44(pcVar59,pWVar41), iVar45 < 0x43" (assignment_expression "BVar2 = CONCAT44(pcVar59,pWVar41)" identifier = (call_expression "CONCAT44(pcVar59,pWVar41)" identifier (argument_list "(pcVar59,pWVar41)" ( identifier , identifier )))) , (binary_expression "iVar45 < 0x43" identifier < number_literal)) ))) )) (goto_statement "goto LAB_000c5710;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))\n                          (pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x7808)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x7808)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x7808" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,pEVar46,((WhereInfo *)jumpIfNull)->pWhere)" ( identifier , identifier , (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )))) ;) (if_statement "if (iVar7 == 0) {\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;\nLAB_000c5968:\n          uVar32 = 0x800;\n          *(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;\n        }" { (labeled_statement "LAB_000c5964:\n          uVar17 = *(ushort *)&pWVar44->pResultSet;" statement_identifier : (expression_statement "uVar17 = *(ushort *)&pWVar44->pResultSet;" (assignment_expression "uVar17 = *(ushort *)&pWVar44->pResultSet" identifier = (pointer_expression "*(ushort *)&pWVar44->pResultSet" * (cast_expression "(ushort *)&pWVar44->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->pResultSet" & (field_expression "pWVar44->pResultSet" identifier -> field_identifier))))) ;)) (labeled_statement "LAB_000c5968:\n          uVar32 = 0x800;" statement_identifier : (expression_statement "uVar32 = 0x800;" (assignment_expression "uVar32 = 0x800" identifier = number_literal) ;)) (expression_statement "*(ushort *)&pWVar44->pResultSet = uVar17 | 0x800;" (assignment_expression "*(ushort *)&pWVar44->pResultSet = uVar17 | 0x800" (pointer_expression "*(ushort *)&pWVar44->pResultSet" * (cast_expression "(ushort *)&pWVar44->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->pResultSet" & (field_expression "pWVar44->pResultSet" identifier -> field_identifier)))) = (binary_expression "uVar17 | 0x800" identifier | number_literal)) ;) }) (else_clause "else {\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }" else (compound_statement "{\n          if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);\n          if (iVar7 != 0) goto LAB_000c5964;\n        }" { (if_statement "if ((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)) {\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }" if (parenthesized_expression "((*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0))" ( (binary_expression "(*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar7 + 8) == 0)" (parenthesized_expression "(*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0)" ( (binary_expression "*(int *)(iVar7 + 0xc) == *(int *)(puVar57 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) == (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" ( (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            uVar17 = *(ushort *)&pWVar44->pResultSet;\n            goto LAB_000c5968;\n          }" { (expression_statement "uVar17 = *(ushort *)&pWVar44->pResultSet;" (assignment_expression "uVar17 = *(ushort *)&pWVar44->pResultSet" identifier = (pointer_expression "*(ushort *)&pWVar44->pResultSet" * (cast_expression "(ushort *)&pWVar44->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->pResultSet" & (field_expression "pWVar44->pResultSet" identifier -> field_identifier))))) ;) (goto_statement "goto LAB_000c5968;" goto statement_identifier ;) })) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))\n                            (pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c4c) + -0x7c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c4c) + -0x7c14)" ( (binary_expression "*(int *)(puVar57 + 0x96c4c) + -0x7c14" (pointer_expression "*(int *)(puVar57 + 0x96c4c)" * (cast_expression "(int *)(puVar57 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c4c)" ( (binary_expression "puVar57 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,(Expr *)((WhereInfo *)jumpIfNull)->pResultSet,\n                             ((WhereInfo *)jumpIfNull)->pWhere)" ( identifier , (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) , (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000c5964;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c5964;" goto statement_identifier ;)) }))) (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "BVar2 = BVar61;" (assignment_expression "BVar2 = BVar61" identifier = identifier) ;) })) }) (else_clause "else {\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }" else (compound_statement "{\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      uVar32 = 0;\n    }" { (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000c5710:\n  pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;" statement_identifier : (expression_statement "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;" (assignment_expression "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere" identifier = (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;)) (expression_statement "uVar21 = pEVar23->flags & 0x100;" (assignment_expression "uVar21 = pEVar23->flags & 0x100" identifier = (binary_expression "pEVar23->flags & 0x100" (field_expression "pEVar23->flags" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (uVar21 == (pEVar46->flags & 0x100)) {\n    if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }\n  }" if (parenthesized_expression "(uVar21 == (pEVar46->flags & 0x100))" ( (binary_expression "uVar21 == (pEVar46->flags & 0x100)" identifier == (parenthesized_expression "(pEVar46->flags & 0x100)" ( (binary_expression "pEVar46->flags & 0x100" (field_expression "pEVar46->flags" identifier -> field_identifier) & number_literal) ))) )) (compound_statement "{\n    if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }\n  }" { (if_statement "if (uVar21 == 0) {\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }\n    else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }" if (parenthesized_expression "(uVar21 == 0)" ( (binary_expression "uVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);\n      if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n      BVar2 = BVar61;\n    }" { (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))(pParse_00)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x75dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x75dc)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x75dc" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;\n      }" { (expression_statement "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100;" (assignment_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags =\n             ((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100" (field_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags" (parenthesized_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)" ( (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) )) -> field_identifier) = (binary_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags | 0x100" (field_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)->flags" (parenthesized_expression "((Expr *)((WhereInfo *)jumpIfNull)->pResultSet)" ( (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) )) -> field_identifier) | number_literal)) ;) })) (expression_statement "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;" (assignment_expression "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere" identifier = (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "BVar2 = BVar61;" (assignment_expression "BVar2 = BVar61" identifier = identifier) ;) }) (else_clause "else {\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }" else (compound_statement "{\n      pEVar23->flags = pEVar23->flags & 0xfffffeff;\n      pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;\n      pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;\n    }" { (expression_statement "pEVar23->flags = pEVar23->flags & 0xfffffeff;" (assignment_expression "pEVar23->flags = pEVar23->flags & 0xfffffeff" (field_expression "pEVar23->flags" identifier -> field_identifier) = (binary_expression "pEVar23->flags & 0xfffffeff" (field_expression "pEVar23->flags" identifier -> field_identifier) & number_literal)) ;) (expression_statement "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere;" (assignment_expression "pEVar23 = ((WhereInfo *)jumpIfNull)->pWhere" identifier = (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet;" (assignment_expression "pEVar46 = (Expr *)((WhereInfo *)jumpIfNull)->pResultSet" identifier = (cast_expression "(Expr *)((WhereInfo *)jumpIfNull)->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) }))) })) (expression_statement "pWStack_190 = (WhereInfo *)(BVar2 >> 0x20);" (assignment_expression "pWStack_190 = (WhereInfo *)(BVar2 >> 0x20)" identifier = (cast_expression "(WhereInfo *)(BVar2 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BVar2 >> 0x20)" ( (binary_expression "BVar2 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "pWStack_18c = (WhereInfo *)BVar2;" (assignment_expression "pWStack_18c = (WhereInfo *)BVar2" identifier = (cast_expression "(WhereInfo *)BVar2" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23;" (assignment_expression "((WhereInfo *)jumpIfNull)->pResultSet = (ExprList *)pEVar23" (field_expression "((WhereInfo *)jumpIfNull)->pResultSet" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = (cast_expression "(ExprList *)pEVar23" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "((WhereInfo *)jumpIfNull)->pWhere = pEVar46;" (assignment_expression "((WhereInfo *)jumpIfNull)->pWhere = pEVar46" (field_expression "((WhereInfo *)jumpIfNull)->pWhere" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = identifier) ;) (if_statement "if (0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse) {\n    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;\n  }" if (parenthesized_expression "(0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse)" ( (binary_expression "0x35 < *(byte *)&((WhereInfo *)jumpIfNull)->pParse" number_literal < (pointer_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse" * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))))) )) (compound_statement "{\n    *(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;\n  }" { (expression_statement "*(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36;" (assignment_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse =\n         (*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36" (pointer_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse" * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) = (binary_expression "(*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2) + 0x36" (parenthesized_expression "(*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2)" ( (binary_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36 ^ 2" (binary_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse - 0x36" (pointer_expression "*(byte *)&((WhereInfo *)jumpIfNull)->pParse" * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) - number_literal) ^ number_literal) )) + number_literal)) ;) })) (expression_statement "*(Bitmask *)&pWVar52->savedNQueryLoop = BVar61;" (assignment_expression "*(Bitmask *)&pWVar52->savedNQueryLoop = BVar61" (pointer_expression "*(Bitmask *)&pWVar52->savedNQueryLoop" * (cast_expression "(Bitmask *)&pWVar52->savedNQueryLoop" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->savedNQueryLoop" & (field_expression "pWVar52->savedNQueryLoop" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4;" (assignment_expression "pWVar52->iContinue = uStack_198 | (uint)pWStack_1a4" (field_expression "pWVar52->iContinue" identifier -> field_identifier) = (binary_expression "uStack_198 | (uint)pWStack_1a4" identifier | (cast_expression "(uint)pWStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49)" identifier = (call_expression "CONCAT44(pWStack_1a4,uStack_194 | (uint)pWVar49)" identifier (argument_list "(pWStack_1a4,uStack_194 | (uint)pWVar49)" ( identifier , (binary_expression "uStack_194 | (uint)pWVar49" identifier | (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pWVar52->iBreak = uStack_194 | (uint)pWVar49;" (assignment_expression "pWVar52->iBreak = uStack_194 | (uint)pWVar49" (field_expression "pWVar52->iBreak" identifier -> field_identifier) = (binary_expression "uStack_194 | (uint)pWVar49" identifier | (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(Parse **)&pWVar52->iLimit = pPStack_160;" (assignment_expression "*(Parse **)&pWVar52->iLimit = pPStack_160" (pointer_expression "*(Parse **)&pWVar52->iLimit" * (cast_expression "(Parse **)&pWVar52->iLimit" ( (type_descriptor "Parse **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c;" (assignment_expression "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1) = aStack_15c" (pointer_expression "*(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1)" * (cast_expression "(anon_union_4_3_737c4e49_for_u *)(pWVar52->aiCurOnePass + 1)" ( (type_descriptor "anon_union_4_3_737c4e49_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pWVar52->aiCurOnePass + 1)" ( (binary_expression "pWVar52->aiCurOnePass + 1" (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse;" (assignment_expression "uVar21 = (uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse" identifier = (binary_expression "(uint)*(byte *)&((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&((WhereInfo *)jumpIfNull)->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((WhereInfo *)jumpIfNull)->pParse" & (field_expression "((WhereInfo *)jumpIfNull)->pParse" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))))) ;) (if_statement "if (uVar21 == 0x31) {\n    uVar21 = 1;\n  }\n  else if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar21 == 0x31)" ( (binary_expression "uVar21 == 0x31" identifier == number_literal) )) (compound_statement "{\n    uVar21 = 1;\n  }" { (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) }) (else_clause "else if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar21 == 0x32) {\n    uVar21 = 0x100;\n  }\n  else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar21 == 0x32)" ( (binary_expression "uVar21 == 0x32" identifier == number_literal) )) (compound_statement "{\n    uVar21 = 0x100;\n  }" { (expression_statement "uVar21 = 0x100;" (assignment_expression "uVar21 = 0x100" identifier = number_literal) ;) }) (else_clause "else if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar21 == 0x2d) {\n    uVar21 = 0x80;\n  }\n  else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar21 == 0x2d)" ( (binary_expression "uVar21 == 0x2d" identifier == number_literal) )) (compound_statement "{\n    uVar21 = 0x80;\n  }" { (expression_statement "uVar21 = 0x80;" (assignment_expression "uVar21 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" else (compound_statement "{\n    uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;\n  }" { (expression_statement "uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff;" (assignment_expression "uVar21 = 2 << (uVar21 - 0x35 & 0x1f) & 0xffff" identifier = (binary_expression "2 << (uVar21 - 0x35 & 0x1f) & 0xffff" (binary_expression "2 << (uVar21 - 0x35 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 - 0x35 & 0x1f)" ( (binary_expression "uVar21 - 0x35 & 0x1f" (binary_expression "uVar21 - 0x35" identifier - number_literal) & number_literal) ))) & number_literal)) ;) }))))))) (expression_statement "psVar53 = (sqlite3 *)(uVar32 + uVar21);" (assignment_expression "psVar53 = (sqlite3 *)(uVar32 + uVar21)" identifier = (cast_expression "(sqlite3 *)(uVar32 + uVar21)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar32 + uVar21)" ( (binary_expression "uVar32 + uVar21" identifier + identifier) )))) ;) (expression_statement "*(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26;" (assignment_expression "*(ushort *)&pWVar52->pResultSet = (ushort)psVar53 & uVar26" (pointer_expression "*(ushort *)&pWVar52->pResultSet" * (cast_expression "(ushort *)&pWVar52->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->pResultSet" & (field_expression "pWVar52->pResultSet" identifier -> field_identifier)))) = (binary_expression "(ushort)psVar53 & uVar26" (cast_expression "(ushort)psVar53" ( (type_descriptor "ushort" type_identifier) ) identifier) & identifier)) ;) (expression_statement "pWVar42 = pWVar52;" (assignment_expression "pWVar42 = pWVar52" identifier = identifier) ;) (expression_statement "BVar64 = BVar61;" (assignment_expression "BVar64 = BVar61" identifier = identifier) ;) (labeled_statement "LAB_000c4d78:\n  pWVar52 = pWVar44;" statement_identifier : (expression_statement "pWVar52 = pWVar44;" (assignment_expression "pWVar52 = pWVar44" identifier = identifier) ;)) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (*(char *)&pWC->pOrderBy == ',') {\n    uVar32 = (uint)*(byte *)&pWVar56->pParse;\n    if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }\n    uVar11 = (undefined4)(BVar64 >> 0x20);\n    uVar21 = (uint)BVar64;\n    uVar62 = CONCAT44(psVar53,jumpIfNull);\n    cVar19 = ',';\n    if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(char *)&pWC->pOrderBy == ',')" ( (binary_expression "*(char *)&pWC->pOrderBy == ','" (pointer_expression "*(char *)&pWC->pOrderBy" * (cast_expression "(char *)&pWC->pOrderBy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier)))) == (char_literal "','" ' character ')) )) (compound_statement "{\n    uVar32 = (uint)*(byte *)&pWVar56->pParse;\n    if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }\n    uVar11 = (undefined4)(BVar64 >> 0x20);\n    uVar21 = (uint)BVar64;\n    uVar62 = CONCAT44(psVar53,jumpIfNull);\n    cVar19 = ',';\n    if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "uVar32 = (uint)*(byte *)&pWVar56->pParse;" (assignment_expression "uVar32 = (uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(uint)*(byte *)&pWVar56->pParse" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) (if_statement "if (uVar32 == 0x9d) {\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }" if (parenthesized_expression "(uVar32 == 0x9d)" ( (binary_expression "uVar32 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pWVar34 = (WhereInfo *)0x1;\n      if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n    }" { (expression_statement "pWVar34 = (WhereInfo *)0x1;" (assignment_expression "pWVar34 = (WhereInfo *)0x1" identifier = (cast_expression "(WhereInfo *)0x1" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0) {\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }" if (parenthesized_expression "(((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0)" ( (binary_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList != (ExprList *)0x0" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) != (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;\n        pWVar42 = (WhereInfo *)pParse_00->pParse;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);\n        pWVar49 = (WhereInfo *)BVar64;\n        if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }" { (expression_statement "iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr;" (assignment_expression "iVar45 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr" identifier = (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList->nExpr" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier)) ;) (expression_statement "pWVar42 = (WhereInfo *)pParse_00->pParse;" (assignment_expression "pWVar42 = (WhereInfo *)pParse_00->pParse" identifier = (cast_expression "(WhereInfo *)pParse_00->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse_00->pParse" identifier -> field_identifier))) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))\n                          (pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + 0x9b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + 0x9b4)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + 0x9b4" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWVar42,((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                           iVar45,1,0)" ( identifier , (field_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" (parenthesized_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)" ( (cast_expression "(anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy" ( (type_descriptor "anon_union_4_2_443a03b8_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pOrderBy" & (field_expression "pWVar56->pOrderBy" identifier -> field_identifier))) )) -> field_identifier) , identifier , number_literal , number_literal )))) ;) (expression_statement "pWVar49 = (WhereInfo *)BVar64;" (assignment_expression "pWVar49 = (WhereInfo *)BVar64" identifier = (cast_expression "(WhereInfo *)BVar64" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }\n        else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;\n          pWVar52 = pWVar44;\n        }" { (labeled_statement "LAB_000c55a8:\n          cVar19 = *(char *)&pWC->pOrderBy;" statement_identifier : (expression_statement "cVar19 = *(char *)&pWC->pOrderBy;" (assignment_expression "cVar19 = *(char *)&pWC->pOrderBy" identifier = (pointer_expression "*(char *)&pWC->pOrderBy" * (cast_expression "(char *)&pWC->pOrderBy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier))))) ;)) (expression_statement "pWVar52 = pWVar44;" (assignment_expression "pWVar52 = pWVar44" identifier = identifier) ;) }) (else_clause "else {\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }" else (compound_statement "{\n          pWStack_190 = *(WhereInfo **)(iVar7 + 4);\n          if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;\n          pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n          if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar18 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar18;\n          pbVar10 = *(byte **)(iVar7 + 8);\n          pEVar46 = pEVar37->a[0].pExpr;\n          bStack_158 = *pbVar10;\n          bStack_157 = pbVar10[1];\n          bStack_156 = pbVar10[2];\n          if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          uVar32 = pEVar46->flags;\n          while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }\n          uVar20 = pEVar46->op;\n          pcVar39 = (char *)pEVar37[1].nExpr;\n          if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n          BVar64 = CONCAT44(pcVar39,pWVar49);\n          cVar19 = *(char *)&pWC->pOrderBy;\n        }" { (expression_statement "pWStack_190 = *(WhereInfo **)(iVar7 + 4);" (assignment_expression "pWStack_190 = *(WhereInfo **)(iVar7 + 4)" identifier = (pointer_expression "*(WhereInfo **)(iVar7 + 4)" * (cast_expression "(WhereInfo **)(iVar7 + 4)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((uint)pWStack_190 & 4) == 0) goto LAB_000c55a8;" if (parenthesized_expression "(((uint)pWStack_190 & 4) == 0)" ( (binary_expression "((uint)pWStack_190 & 4) == 0" (parenthesized_expression "((uint)pWStack_190 & 4)" ( (binary_expression "(uint)pWStack_190 & 4" (cast_expression "(uint)pWStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;)) (expression_statement "pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;" (assignment_expression "pEVar37 = ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" identifier = (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier)) ;) (if_statement "if (2 < iVar45) {\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" if (parenthesized_expression "(2 < iVar45)" ( (binary_expression "2 < iVar45" number_literal < identifier) )) (compound_statement "{\n            pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;\n            if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" { (expression_statement "pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg;" (assignment_expression "pcVar39 = (char *)pEVar37[1].a[0].u.iConstExprReg" identifier = (cast_expression "(char *)pEVar37[1].a[0].u.iConstExprReg" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar37[1].a[0].u.iConstExprReg" (field_expression "pEVar37[1].a[0].u" (subscript_expression "pEVar37[1].a[0]" (field_expression "pEVar37[1].a" (subscript_expression "pEVar37[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) ;) (if_statement "if (*pcVar39 == 'j') {\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }" if (parenthesized_expression "(*pcVar39 == 'j')" ( (binary_expression "*pcVar39 == 'j'" (pointer_expression "*pcVar39" * identifier) == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar10 = *(byte **)(pcVar39 + 8);\n              bVar18 = *pbVar10;\n              if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;\n            }" { (expression_statement "pbVar10 = *(byte **)(pcVar39 + 8);" (assignment_expression "pbVar10 = *(byte **)(pcVar39 + 8)" identifier = (pointer_expression "*(byte **)(pcVar39 + 8)" * (cast_expression "(byte **)(pcVar39 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 8)" ( (binary_expression "pcVar39 + 8" identifier + number_literal) ))))) ;) (expression_statement "bVar18 = *pbVar10;" (assignment_expression "bVar18 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (if_statement "if ((bVar18 != 0) && (pbVar10[1] == 0)) goto LAB_000c50e4;" if (parenthesized_expression "((bVar18 != 0) && (pbVar10[1] == 0))" ( (binary_expression "(bVar18 != 0) && (pbVar10[1] == 0)" (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar10[1] == 0)" ( (binary_expression "pbVar10[1] == 0" (subscript_expression "pbVar10[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_000c50e4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) (expression_statement "bStack_155 = 0;" (assignment_expression "bStack_155 = 0" identifier = number_literal) ;) (expression_statement "bVar18 = bStack_155;" (assignment_expression "bVar18 = bStack_155" identifier = identifier) ;) (labeled_statement "LAB_000c50e4:\n          bStack_155 = bVar18;" statement_identifier : (expression_statement "bStack_155 = bVar18;" (assignment_expression "bStack_155 = bVar18" identifier = identifier) ;)) (expression_statement "pbVar10 = *(byte **)(iVar7 + 8);" (assignment_expression "pbVar10 = *(byte **)(iVar7 + 8)" identifier = (pointer_expression "*(byte **)(iVar7 + 8)" * (cast_expression "(byte **)(iVar7 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (expression_statement "pEVar46 = pEVar37->a[0].pExpr;" (assignment_expression "pEVar46 = pEVar37->a[0].pExpr" identifier = (field_expression "pEVar37->a[0].pExpr" (subscript_expression "pEVar37->a[0]" (field_expression "pEVar37->a" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "bStack_158 = *pbVar10;" (assignment_expression "bStack_158 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (expression_statement "bStack_157 = pbVar10[1];" (assignment_expression "bStack_157 = pbVar10[1]" identifier = (subscript_expression "pbVar10[1]" identifier [ number_literal ])) ;) (expression_statement "bStack_156 = pbVar10[2];" (assignment_expression "bStack_156 = pbVar10[2]" identifier = (subscript_expression "pbVar10[2]" identifier [ number_literal ])) ;) (if_statement "if (pEVar46 == (Expr *)0x0) {\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }" if (parenthesized_expression "(pEVar46 == (Expr *)0x0)" ( (binary_expression "pEVar46 == (Expr *)0x0" identifier == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }" { (labeled_statement "LAB_000c5154:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar59 = (code *)trap(0);" (assignment_expression "pcVar59 = (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 "(*pcVar59)();" (call_expression "(*pcVar59)()" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar32 = pEVar46->flags;" (assignment_expression "uVar32 = pEVar46->flags" identifier = (field_expression "pEVar46->flags" identifier -> field_identifier)) ;) (while_statement "while ((uVar32 & 0x1000) != 0) {\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }" while (parenthesized_expression "((uVar32 & 0x1000) != 0)" ( (binary_expression "(uVar32 & 0x1000) != 0" (parenthesized_expression "(uVar32 & 0x1000)" ( (binary_expression "uVar32 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }\n            if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;\n            uVar32 = pEVar46->flags;\n          }" { (if_statement "if ((uVar32 & 0x40000) == 0) {\n              pEVar46 = pEVar46->pLeft;\n            }\n            else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }" if (parenthesized_expression "((uVar32 & 0x40000) == 0)" ( (binary_expression "(uVar32 & 0x40000) == 0" (parenthesized_expression "(uVar32 & 0x40000)" ( (binary_expression "uVar32 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              pEVar46 = pEVar46->pLeft;\n            }" { (expression_statement "pEVar46 = pEVar46->pLeft;" (assignment_expression "pEVar46 = pEVar46->pLeft" identifier = (field_expression "pEVar46->pLeft" identifier -> field_identifier)) ;) }) (else_clause "else {\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }" else (compound_statement "{\n              pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;\n            }" { (expression_statement "pEVar46 = ((pEVar46->x).pList)->a[0].pExpr;" (assignment_expression "pEVar46 = ((pEVar46->x).pList)->a[0].pExpr" identifier = (field_expression "((pEVar46->x).pList)->a[0].pExpr" (subscript_expression "((pEVar46->x).pList)->a[0]" (field_expression "((pEVar46->x).pList)->a" (parenthesized_expression "((pEVar46->x).pList)" ( (field_expression "(pEVar46->x).pList" (parenthesized_expression "(pEVar46->x)" ( (field_expression "pEVar46->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier)) ;) }))) (if_statement "if (pEVar46 == (Expr *)0x0) goto LAB_000c5154;" if (parenthesized_expression "(pEVar46 == (Expr *)0x0)" ( (binary_expression "pEVar46 == (Expr *)0x0" identifier == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5154;" goto statement_identifier ;)) (expression_statement "uVar32 = pEVar46->flags;" (assignment_expression "uVar32 = pEVar46->flags" identifier = (field_expression "pEVar46->flags" identifier -> field_identifier)) ;) })) (expression_statement "uVar20 = pEVar46->op;" (assignment_expression "uVar20 = pEVar46->op" identifier = (field_expression "pEVar46->op" identifier -> field_identifier)) ;) (expression_statement "pcVar39 = (char *)pEVar37[1].nExpr;" (assignment_expression "pcVar39 = (char *)pEVar37[1].nExpr" identifier = (cast_expression "(char *)pEVar37[1].nExpr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar37[1].nExpr" (subscript_expression "pEVar37[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (uVar20 == 0x90) {\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }\n          else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(uVar20 == 0x90)" ( (binary_expression "uVar20 == 0x90" identifier == number_literal) )) (compound_statement "{\n            psVar53 = (sqlite3 *)0x0;\n            if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }\n          }" { (expression_statement "psVar53 = (sqlite3 *)0x0;" (assignment_expression "psVar53 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < pWVar42->iBreak << 8) {\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }" if (parenthesized_expression "(-1 < pWVar42->iBreak << 8)" ( (binary_expression "-1 < pWVar42->iBreak << 8" number_literal < (binary_expression "pWVar42->iBreak << 8" (field_expression "pWVar42->iBreak" identifier -> field_identifier) << number_literal)) )) (compound_statement "{\n              iVar7 = pEVar46->iColumn;\n              uVar60 = CONCAT44(pcVar39,iVar7);\n              psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);\n              if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }\n            }" { (expression_statement "iVar7 = pEVar46->iColumn;" (assignment_expression "iVar7 = pEVar46->iColumn" identifier = (field_expression "pEVar46->iColumn" identifier -> field_identifier)) ;) (expression_statement "uVar60 = CONCAT44(pcVar39,iVar7);" (assignment_expression "uVar60 = CONCAT44(pcVar39,iVar7)" identifier = (call_expression "CONCAT44(pcVar39,iVar7)" identifier (argument_list "(pcVar39,iVar7)" ( identifier , identifier )))) ;) (expression_statement "psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7);" (assignment_expression "psVar53 = (sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7)" identifier = (cast_expression "(sqlite3 *)\n                        (*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))\n                                  ((pParse_00->sWC).aStatic[2].iParent,iVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c48) + 0x6c04)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c48) + 0x6c04)" ( (binary_expression "*(int *)(puVar57 + 0x96c48) + 0x6c04" (pointer_expression "*(int *)(puVar57 + 0x96c48)" * (cast_expression "(int *)(puVar57 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c48)" ( (binary_expression "puVar57 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((pParse_00->sWC).aStatic[2].iParent,iVar7)" ( (field_expression "(pParse_00->sWC).aStatic[2].iParent" (subscript_expression "(pParse_00->sWC).aStatic[2]" (field_expression "(pParse_00->sWC).aStatic" (parenthesized_expression "(pParse_00->sWC)" ( (field_expression "pParse_00->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) , identifier ))))) ;) (if_statement "if (psVar53 == (sqlite3 *)0x0) {\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }\n              else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }" if (parenthesized_expression "(psVar53 == (sqlite3 *)0x0)" ( (binary_expression "psVar53 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }" { (expression_statement "pEVar37 = pParse_00->pOrderBy;" (assignment_expression "pEVar37 = pParse_00->pOrderBy" identifier = (field_expression "pParse_00->pOrderBy" identifier -> field_identifier)) ;) (expression_statement "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;" (assignment_expression "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder" identifier = (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))))) ;) }) (else_clause "else {\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }" else (compound_statement "{\n                iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);\n                if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }\n                pEVar37 = pParse_00->pOrderBy;\n                uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n              }" { (expression_statement "iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53);" (assignment_expression "iVar45 = (**(code **)(puVar57 + 0x96b30))(psVar53)" identifier = (call_expression "(**(code **)(puVar57 + 0x96b30))(psVar53)" (parenthesized_expression "(**(code **)(puVar57 + 0x96b30))" ( (pointer_expression "**(code **)(puVar57 + 0x96b30)" * (pointer_expression "*(code **)(puVar57 + 0x96b30)" * (cast_expression "(code **)(puVar57 + 0x96b30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96b30)" ( (binary_expression "puVar57 + 0x96b30" identifier + number_literal) ))))) )) (argument_list "(psVar53)" ( identifier )))) ;) (if_statement "if (iVar45 == 3) {\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }" if (parenthesized_expression "(iVar45 == 3)" ( (binary_expression "iVar45 == 3" identifier == number_literal) )) (compound_statement "{\n                  pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);\n                  pEVar37 = pParse_00->pOrderBy;\n                  if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  goto LAB_000c517c;\n                }" { (expression_statement "pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53);" (assignment_expression "pbVar10 = (byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53)" identifier = (cast_expression "(byte *)(**(code **)(puVar57 + 0x96b4c))(psVar53)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar57 + 0x96b4c))(psVar53)" (parenthesized_expression "(**(code **)(puVar57 + 0x96b4c))" ( (pointer_expression "**(code **)(puVar57 + 0x96b4c)" * (pointer_expression "*(code **)(puVar57 + 0x96b4c)" * (cast_expression "(code **)(puVar57 + 0x96b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96b4c)" ( (binary_expression "puVar57 + 0x96b4c" identifier + number_literal) ))))) )) (argument_list "(psVar53)" ( identifier ))))) ;) (expression_statement "pEVar37 = pParse_00->pOrderBy;" (assignment_expression "pEVar37 = pParse_00->pOrderBy" identifier = (field_expression "pParse_00->pOrderBy" identifier -> field_identifier)) ;) (if_statement "if (iVar7 < 0x20) {\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }\n                  else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }" if (parenthesized_expression "(iVar7 < 0x20)" ( (binary_expression "iVar7 < 0x20" identifier < number_literal) )) (compound_statement "{\n                    uVar32 = 1 << (iVar7 - 1U & 0x1f);\n                    uVar60 = CONCAT44(pcVar39,uVar32);\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;\n                    jumpIfNull = (int)pParse_00;\n                  }" { (expression_statement "uVar32 = 1 << (iVar7 - 1U & 0x1f);" (assignment_expression "uVar32 = 1 << (iVar7 - 1U & 0x1f)" identifier = (binary_expression "1 << (iVar7 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar7 - 1U & 0x1f)" ( (binary_expression "iVar7 - 1U & 0x1f" (binary_expression "iVar7 - 1U" identifier - number_literal) & number_literal) )))) ;) (expression_statement "uVar60 = CONCAT44(pcVar39,uVar32);" (assignment_expression "uVar60 = CONCAT44(pcVar39,uVar32)" identifier = (call_expression "CONCAT44(pcVar39,uVar32)" identifier (argument_list "(pcVar39,uVar32)" ( identifier , identifier )))) ;) (expression_statement "*(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32;" (assignment_expression "*(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | uVar32" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) = (binary_expression "*(uint *)&pEVar37[8].a[0].sortOrder | uVar32" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) | identifier)) ;) (expression_statement "jumpIfNull = (int)pParse_00;" (assignment_expression "jumpIfNull = (int)pParse_00" identifier = (cast_expression "(int)pParse_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }" else (compound_statement "{\n                    *(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;\n                    jumpIfNull = (int)pParse_00;\n                  }" { (expression_statement "*(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000;" (assignment_expression "*(uint *)&pEVar37[8].a[0].sortOrder =\n                         *(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) = (binary_expression "*(uint *)&pEVar37[8].a[0].sortOrder | 0x80000000" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) | number_literal)) ;) (expression_statement "jumpIfNull = (int)pParse_00;" (assignment_expression "jumpIfNull = (int)pParse_00" identifier = (cast_expression "(int)pParse_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (goto_statement "goto LAB_000c517c;" goto statement_identifier ;) })) (expression_statement "pEVar37 = pParse_00->pOrderBy;" (assignment_expression "pEVar37 = pParse_00->pOrderBy" identifier = (field_expression "pParse_00->pOrderBy" identifier -> field_identifier)) ;) (expression_statement "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;" (assignment_expression "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder" identifier = (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))))) ;) }))) (if_statement "if (iVar7 < 0x20) {\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }\n              else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }" if (parenthesized_expression "(iVar7 < 0x20)" ( (binary_expression "iVar7 < 0x20" identifier < number_literal) )) (compound_statement "{\n                *(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;\n                jumpIfNull = (int)pParse_00;\n                uVar60 = CONCAT44(pcVar39,iVar7 - 1U);\n              }" { (expression_statement "*(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32;" (assignment_expression "*(uint *)&pEVar37[8].a[0].sortOrder = 1 << (iVar7 - 1U & 0x1f) | uVar32" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) = (binary_expression "1 << (iVar7 - 1U & 0x1f) | uVar32" (binary_expression "1 << (iVar7 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar7 - 1U & 0x1f)" ( (binary_expression "iVar7 - 1U & 0x1f" (binary_expression "iVar7 - 1U" identifier - number_literal) & number_literal) ))) | identifier)) ;) (expression_statement "jumpIfNull = (int)pParse_00;" (assignment_expression "jumpIfNull = (int)pParse_00" identifier = (cast_expression "(int)pParse_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar60 = CONCAT44(pcVar39,iVar7 - 1U);" (assignment_expression "uVar60 = CONCAT44(pcVar39,iVar7 - 1U)" identifier = (call_expression "CONCAT44(pcVar39,iVar7 - 1U)" identifier (argument_list "(pcVar39,iVar7 - 1U)" ( identifier , (binary_expression "iVar7 - 1U" identifier - number_literal) )))) ;) }) (else_clause "else {\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }" else (compound_statement "{\n                *(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;\n                jumpIfNull = (int)pParse_00;\n              }" { (expression_statement "*(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000;" (assignment_expression "*(uint *)&pEVar37[8].a[0].sortOrder = uVar32 | 0x80000000" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) = (binary_expression "uVar32 | 0x80000000" identifier | number_literal)) ;) (expression_statement "jumpIfNull = (int)pParse_00;" (assignment_expression "jumpIfNull = (int)pParse_00" identifier = (cast_expression "(int)pParse_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }) (else_clause "else {\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            psVar53 = (sqlite3 *)0x0;\n            if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "psVar53 = (sqlite3 *)0x0;" (assignment_expression "psVar53 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar20 == 'j') {\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(uVar20 == 'j')" ( (binary_expression "uVar20 == 'j'" identifier == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar10 = (byte *)(pEVar46->u).zToken;\nLAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n              iVar7 = (int)uVar60;\n              if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" { (expression_statement "pbVar10 = (byte *)(pEVar46->u).zToken;" (assignment_expression "pbVar10 = (byte *)(pEVar46->u).zToken" identifier = (cast_expression "(byte *)(pEVar46->u).zToken" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pEVar46->u).zToken" (parenthesized_expression "(pEVar46->u)" ( (field_expression "pEVar46->u" identifier -> field_identifier) )) . field_identifier))) ;) (labeled_statement "LAB_000c517c:\n              pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" statement_identifier : (expression_statement "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" (assignment_expression "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20)" identifier = (cast_expression "(WhereInfo *)((ulonglong)uVar60 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar60 >> 0x20)" ( (binary_expression "(ulonglong)uVar60 >> 0x20" (cast_expression "(ulonglong)uVar60" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "iVar7 = (int)uVar60;" (assignment_expression "iVar7 = (int)uVar60" identifier = (cast_expression "(int)uVar60" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pbVar10 != (byte *)0x0) {\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" if (parenthesized_expression "(pbVar10 != (byte *)0x0)" ( (binary_expression "pbVar10 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_t4 = (WhereInfo *)(uint)*pbVar10;\n                in_t2 = (WhereInfo *)(uint)bStack_157;\n                in_t3 = (WhereInfo *)(uint)bStack_156;\n                pWVar36 = (WhereInfo *)(uint)bStack_155;\n                pWVar29 = in_t4;\n                iVar45 = 0;\n                while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }\n                pWVar34 = (WhereInfo *)(pbVar10 + iVar33);\n                iVar45 = iVar33;\n                uVar60 = CONCAT44(pWStack_1a4,iVar7);\n                if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" { (expression_statement "in_t4 = (WhereInfo *)(uint)*pbVar10;" (assignment_expression "in_t4 = (WhereInfo *)(uint)*pbVar10" identifier = (binary_expression "(WhereInfo *)(uint)*pbVar10" (cast_expression "(WhereInfo *)(uint)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "in_t2 = (WhereInfo *)(uint)bStack_157;" (assignment_expression "in_t2 = (WhereInfo *)(uint)bStack_157" identifier = (cast_expression "(WhereInfo *)(uint)bStack_157" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_157" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "in_t3 = (WhereInfo *)(uint)bStack_156;" (assignment_expression "in_t3 = (WhereInfo *)(uint)bStack_156" identifier = (cast_expression "(WhereInfo *)(uint)bStack_156" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_156" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pWVar36 = (WhereInfo *)(uint)bStack_155;" (assignment_expression "pWVar36 = (WhereInfo *)(uint)bStack_155" identifier = (cast_expression "(WhereInfo *)(uint)bStack_155" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_155" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pWVar29 = in_t4;" (assignment_expression "pWVar29 = in_t4" identifier = identifier) ;) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" identifier = number_literal) ;) (while_statement "while ((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))) {\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }" while (parenthesized_expression "((((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29)))" ( (parenthesized_expression "(((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29))" ( (binary_expression "((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)) &&\n                       (iVar7 = iVar33 + 1, in_t3 != pWVar29)" (parenthesized_expression "((iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29))" ( (binary_expression "(iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)) && (in_t2 != pWVar29)" (parenthesized_expression "(iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29))" ( (comma_expression "iVar33 = iVar45, pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)" (assignment_expression "iVar33 = iVar45" identifier = identifier) , (comma_expression "pWVar49 = pWVar36, pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)" (assignment_expression "pWVar49 = pWVar36" identifier = identifier) , (binary_expression "pWVar29 != (WhereInfo *)0x0 &&\n                         ((WhereInfo *)(uint)bStack_158 != pWVar29)" (binary_expression "pWVar29 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((WhereInfo *)(uint)bStack_158 != pWVar29)" ( (binary_expression "(WhereInfo *)(uint)bStack_158 != pWVar29" (cast_expression "(WhereInfo *)(uint)bStack_158" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) ))))) )) && (parenthesized_expression "(in_t2 != pWVar29)" ( (binary_expression "in_t2 != pWVar29" identifier != identifier) ))) )) && (parenthesized_expression "(iVar7 = iVar33 + 1, in_t3 != pWVar29)" ( (comma_expression "iVar7 = iVar33 + 1, in_t3 != pWVar29" (assignment_expression "iVar7 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) , (binary_expression "in_t3 != pWVar29" identifier != identifier)) ))) )) )) (compound_statement "{\n                  pWVar34 = (WhereInfo *)(pbVar10 + iVar7);\n                  bVar54 = pWVar36 == pWVar29;\n                  pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;\n                  iVar45 = iVar7;\n                  if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }\n                }" { (expression_statement "pWVar34 = (WhereInfo *)(pbVar10 + iVar7);" (assignment_expression "pWVar34 = (WhereInfo *)(pbVar10 + iVar7)" identifier = (cast_expression "(WhereInfo *)(pbVar10 + iVar7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar10 + iVar7)" ( (binary_expression "pbVar10 + iVar7" identifier + identifier) )))) ;) (expression_statement "bVar54 = pWVar36 == pWVar29;" (assignment_expression "bVar54 = pWVar36 == pWVar29" identifier = (binary_expression "pWVar36 == pWVar29" identifier == identifier)) ;) (expression_statement "pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse;" (assignment_expression "pWVar29 = (WhereInfo *)(uint)*(byte *)&pWVar34->pParse" identifier = (binary_expression "(WhereInfo *)(uint)*(byte *)&pWVar34->pParse" (cast_expression "(WhereInfo *)(uint)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&pWVar34->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->pParse" & (field_expression "pWVar34->pParse" identifier -> field_identifier))))) ;) (expression_statement "iVar45 = iVar7;" (assignment_expression "iVar45 = iVar7" identifier = identifier) ;) (if_statement "if (bVar54) {\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }" if (parenthesized_expression "(bVar54)" ( identifier )) (compound_statement "{\n                    if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;\n                    iVar7 = iVar33 + 2;\n                    pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];\n                    iVar45 = iVar7;\n                  }" { (if_statement "if (pWVar29 == (WhereInfo *)0x0) goto LAB_000c51d0;" if (parenthesized_expression "(pWVar29 == (WhereInfo *)0x0)" ( (binary_expression "pWVar29 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c51d0;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar33 + 2;" (assignment_expression "iVar7 = iVar33 + 2" identifier = (binary_expression "iVar33 + 2" identifier + number_literal)) ;) (expression_statement "pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7];" (assignment_expression "pWVar29 = (WhereInfo *)(uint)pbVar10[iVar7]" identifier = (cast_expression "(WhereInfo *)(uint)pbVar10[iVar7]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar10[iVar7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar10[iVar7]" identifier [ identifier ])))) ;) (expression_statement "iVar45 = iVar7;" (assignment_expression "iVar45 = iVar7" identifier = identifier) ;) })) })) (expression_statement "pWVar34 = (WhereInfo *)(pbVar10 + iVar33);" (assignment_expression "pWVar34 = (WhereInfo *)(pbVar10 + iVar33)" identifier = (cast_expression "(WhereInfo *)(pbVar10 + iVar33)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar10 + iVar33)" ( (binary_expression "pbVar10 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar45 = iVar33;" (assignment_expression "iVar45 = iVar33" identifier = identifier) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,iVar7);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar7)" identifier (argument_list "(pWStack_1a4,iVar7)" ( identifier , identifier )))) ;) (if_statement "if (iVar33 != 0) {\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" if (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);\n                  uVar60 = CONCAT44(pWStack_1a4,iVar45);\n                  if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" { (labeled_statement "LAB_000c51d0:\n                  uVar6 = CONCAT44(pcVar39,iVar45);" statement_identifier : (expression_statement "uVar6 = CONCAT44(pcVar39,iVar45);" (assignment_expression "uVar6 = CONCAT44(pcVar39,iVar45)" identifier = (call_expression "CONCAT44(pcVar39,iVar45)" identifier (argument_list "(pcVar39,iVar45)" ( identifier , identifier )))) ;)) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,iVar45);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar45)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar45)" identifier (argument_list "(pWStack_1a4,iVar45)" ( identifier , identifier )))) ;) (if_statement "if (((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))) {\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }" if (parenthesized_expression "(((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4))))" ( (binary_expression "((char)pWVar34[-1].a[0].notReady != -1) &&\n                     ((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))" (parenthesized_expression "((char)pWVar34[-1].a[0].notReady != -1)" ( (binary_expression "(char)pWVar34[-1].a[0].notReady != -1" (cast_expression "(char)pWVar34[-1].a[0].notReady" ( (type_descriptor "char" primitive_type) ) (field_expression "pWVar34[-1].a[0].notReady" (subscript_expression "pWVar34[-1].a[0]" (field_expression "pWVar34[-1].a" (subscript_expression "pWVar34[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) != number_literal) )) && (parenthesized_expression "((iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)))" ( (parenthesized_expression "(iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4))" ( (binary_expression "iVar45 != 1 || (uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)" (binary_expression "iVar45 != 1" identifier != number_literal) || (parenthesized_expression "(uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4)" ( (comma_expression "uVar60 = CONCAT44(pWStack_1a4,iVar45), pWVar36 != in_t4" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar45)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar45)" identifier (argument_list "(pWStack_1a4,iVar45)" ( identifier , identifier )))) , (binary_expression "pWVar36 != in_t4" identifier != identifier)) ))) )) ))) )) (compound_statement "{\n                    if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }\n                    pcVar40 = pcVar39;\n                    jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);\n                    pWStack_188 = pWVar36;\n                    if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }\n                    if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }\n                    iVar45 = *(int *)(puVar57 + 0x96c38);\n                    if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }\n                    pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);\n                    uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);\n                    iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);\n                    if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }\n                    pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);\n                    (*(code *)pWStack_190)(pPVar28,pWC,pWVar42);\n                    pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n                    uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                    BVar64 = CONCAT44(pcVar40,pWVar49);\n                    if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }\n                    goto LAB_000c55a8;\n                  }" { (if_statement "if ((WhereInfo *)(uint)bStack_158 == pWVar29) {\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }\n                    else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }" if (parenthesized_expression "((WhereInfo *)(uint)bStack_158 == pWVar29)" ( (binary_expression "(WhereInfo *)(uint)bStack_158 == pWVar29" (cast_expression "(WhereInfo *)(uint)bStack_158" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) == identifier) )) (compound_statement "{\n                      pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);\n                    }" { (expression_statement "pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0);" (assignment_expression "pWStack_18c = (WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0)" identifier = (cast_expression "(WhereInfo *)(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(byte *)((int)&pWVar34->pParse + 1) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)((int)&pWVar34->pParse + 1) == 0)" ( (binary_expression "*(byte *)((int)&pWVar34->pParse + 1) == 0" (pointer_expression "*(byte *)((int)&pWVar34->pParse + 1)" * (cast_expression "(byte *)((int)&pWVar34->pParse + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar34->pParse + 1)" ( (binary_expression "(int)&pWVar34->pParse + 1" (cast_expression "(int)&pWVar34->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar34->pParse" & (field_expression "pWVar34->pParse" identifier -> field_identifier))) + number_literal) )))) == number_literal) ))))) ;) }) (else_clause "else {\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }" else (compound_statement "{\n                      pWStack_18c = (WhereInfo *)0x0;\n                    }" { (expression_statement "pWStack_18c = (WhereInfo *)0x0;" (assignment_expression "pWStack_18c = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar40 = pcVar39;" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) ;) (expression_statement "jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10);" (assignment_expression "jumpIfNull = (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))\n                                           (pWVar42,0x6a,pbVar10)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + -0x19d0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x19d0)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x19d0" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWVar42,0x6a,pbVar10)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pWStack_188 = pWVar36;" (assignment_expression "pWStack_188 = pWVar36" identifier = identifier) ;) (if_statement "if ((WhereInfo *)jumpIfNull == (WhereInfo *)0x0) {\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }\n                    else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }" if (parenthesized_expression "((WhereInfo *)jumpIfNull == (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull == (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }\n                    }" { (if_statement "if (uVar20 == 0x90) {\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }" if (parenthesized_expression "(uVar20 == 0x90)" ( (binary_expression "uVar20 == 0x90" identifier == number_literal) )) (compound_statement "{\nLAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;\n                        uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;\n                        if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }\n                        *(uint *)&pEVar37[8].a[0].sortOrder = uVar32;\n                        iVar7 = *(int *)(puVar57 + 0x96c10);\n                        pcVar39 = pcVar40;\n                        if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(iVar7 + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                        pcVar40 = pcVar39;\n                        if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;\n                      }" { (labeled_statement "LAB_000c6c34:\n                        pEVar37 = pParse_00->pOrderBy;" statement_identifier : (expression_statement "pEVar37 = pParse_00->pOrderBy;" (assignment_expression "pEVar37 = pParse_00->pOrderBy" identifier = (field_expression "pParse_00->pOrderBy" identifier -> field_identifier)) ;)) (expression_statement "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder;" (assignment_expression "uVar32 = *(uint *)&pEVar37[8].a[0].sortOrder" identifier = (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))))) ;) (if_statement "if (pEVar46->iColumn < 0x20) {\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }\n                        else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }" if (parenthesized_expression "(pEVar46->iColumn < 0x20)" ( (binary_expression "pEVar46->iColumn < 0x20" (field_expression "pEVar46->iColumn" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n                          uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;\n                        }" { (expression_statement "uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32;" (assignment_expression "uVar32 = 1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32" identifier = (binary_expression "1 << (pEVar46->iColumn - 1U & 0x1f) | uVar32" (binary_expression "1 << (pEVar46->iColumn - 1U & 0x1f)" number_literal << (parenthesized_expression "(pEVar46->iColumn - 1U & 0x1f)" ( (binary_expression "pEVar46->iColumn - 1U & 0x1f" (binary_expression "pEVar46->iColumn - 1U" (field_expression "pEVar46->iColumn" identifier -> field_identifier) - number_literal) & number_literal) ))) | identifier)) ;) }) (else_clause "else {\n                          uVar32 = uVar32 | 0x80000000;\n                        }" else (compound_statement "{\n                          uVar32 = uVar32 | 0x80000000;\n                        }" { (expression_statement "uVar32 = uVar32 | 0x80000000;" (assignment_expression "uVar32 = uVar32 | 0x80000000" identifier = (binary_expression "uVar32 | 0x80000000" identifier | number_literal)) ;) }))) (expression_statement "*(uint *)&pEVar37[8].a[0].sortOrder = uVar32;" (assignment_expression "*(uint *)&pEVar37[8].a[0].sortOrder = uVar32" (pointer_expression "*(uint *)&pEVar37[8].a[0].sortOrder" * (cast_expression "(uint *)&pEVar37[8].a[0].sortOrder" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37[8].a[0].sortOrder" & (field_expression "pEVar37[8].a[0].sortOrder" (subscript_expression "pEVar37[8].a[0]" (field_expression "pEVar37[8].a" (subscript_expression "pEVar37[8]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c10);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = pcVar40;" (assignment_expression "pcVar39 = pcVar40" identifier = identifier) ;) (if_statement "if ((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')) {\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }" if (parenthesized_expression "((pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0'))" ( (binary_expression "(pWStack_18c != (WhereInfo *)0x0) &&\n                           (*(char *)((pEVar46->u).iValue + 1) != '\0')" (parenthesized_expression "(pWStack_18c != (WhereInfo *)0x0)" ( (binary_expression "pWStack_18c != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)((pEVar46->u).iValue + 1) != '\0')" ( (binary_expression "*(char *)((pEVar46->u).iValue + 1) != '\0'" (pointer_expression "*(char *)((pEVar46->u).iValue + 1)" * (cast_expression "(char *)((pEVar46->u).iValue + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pEVar46->u).iValue + 1)" ( (binary_expression "(pEVar46->u).iValue + 1" (field_expression "(pEVar46->u).iValue" (parenthesized_expression "(pEVar46->u)" ( (field_expression "pEVar46->u" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                          cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);\n                          bVar18 = cVar19 - 1;\n                          if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }\n                          sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);\n                          if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }\n                          pcVar39[0xc] = '\0';\n                          pcVar39[0xd] = '\0';\n                          pcVar39[0xe] = '\0';\n                          pcVar39[0xf] = '\0';\n                          if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }\n                          iVar7 = *(int *)(puVar57 + 0x96c10);\n                          pcVar39 = pcVar40;\n                        }" { (expression_statement "cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3);" (assignment_expression "cVar19 = *(undefined1 *)((int)&pParse_00->pWhere + 3)" identifier = (pointer_expression "*(undefined1 *)((int)&pParse_00->pWhere + 3)" * (cast_expression "(undefined1 *)((int)&pParse_00->pWhere + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pParse_00->pWhere + 3)" ( (binary_expression "(int)&pParse_00->pWhere + 3" (cast_expression "(int)&pParse_00->pWhere" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pParse_00->pWhere" & (field_expression "pParse_00->pWhere" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar18 = cVar19 - 1;" (assignment_expression "bVar18 = cVar19 - 1" identifier = (binary_expression "cVar19 - 1" identifier - number_literal)) ;) (if_statement "if (cVar19 == '\0') {\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }\n                          else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }" if (parenthesized_expression "(cVar19 == '\0')" ( (binary_expression "cVar19 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                            iVar7 = *(int *)&pParse_00->wctrlFlags + 1;\n                            *(int *)&pParse_00->wctrlFlags = iVar7;\n                          }" { (expression_statement "iVar7 = *(int *)&pParse_00->wctrlFlags + 1;" (assignment_expression "iVar7 = *(int *)&pParse_00->wctrlFlags + 1" identifier = (binary_expression "*(int *)&pParse_00->wctrlFlags + 1" (pointer_expression "*(int *)&pParse_00->wctrlFlags" * (cast_expression "(int *)&pParse_00->wctrlFlags" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pParse_00->wctrlFlags" & (field_expression "pParse_00->wctrlFlags" identifier -> field_identifier)))) + number_literal)) ;) (expression_statement "*(int *)&pParse_00->wctrlFlags = iVar7;" (assignment_expression "*(int *)&pParse_00->wctrlFlags = iVar7" (pointer_expression "*(int *)&pParse_00->wctrlFlags" * (cast_expression "(int *)&pParse_00->wctrlFlags" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pParse_00->wctrlFlags" & (field_expression "pParse_00->wctrlFlags" identifier -> field_identifier)))) = identifier) ;) }) (else_clause "else {\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }" else (compound_statement "{\n                            *(byte *)((int)&pParse_00->pWhere + 3) = bVar18;\n                            iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);\n                          }" { (expression_statement "*(byte *)((int)&pParse_00->pWhere + 3) = bVar18;" (assignment_expression "*(byte *)((int)&pParse_00->pWhere + 3) = bVar18" (pointer_expression "*(byte *)((int)&pParse_00->pWhere + 3)" * (cast_expression "(byte *)((int)&pParse_00->pWhere + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pParse_00->pWhere + 3)" ( (binary_expression "(int)&pParse_00->pWhere + 3" (cast_expression "(int)&pParse_00->pWhere" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pParse_00->pWhere" & (field_expression "pParse_00->pWhere" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4);" (assignment_expression "iVar7 = *(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4)" identifier = (pointer_expression "*(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4)" * (cast_expression "(int *)((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4)" ( (binary_expression "(int)&(pParse_00->sWC).aStatic[0].prereqAll +\n                                            (uint)bVar18 * 4" (cast_expression "(int)&(pParse_00->sWC).aStatic[0].prereqAll" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pParse_00->sWC).aStatic[0].prereqAll" & (field_expression "(pParse_00->sWC).aStatic[0].prereqAll" (subscript_expression "(pParse_00->sWC).aStatic[0]" (field_expression "(pParse_00->sWC).aStatic" (parenthesized_expression "(pParse_00->sWC)" ( (field_expression "pParse_00->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier))) + (binary_expression "(uint)bVar18 * 4" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) }))) (expression_statement "sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7);" (call_expression "sqlite3ExprCodeTarget((Parse *)pParse_00,pEVar46,iVar7)" identifier (argument_list "((Parse *)pParse_00,pEVar46,iVar7)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (if_statement "if (*(char *)(pEVar37->nExpr + 0x51) == '\0') {\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }\n                          else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }" if (parenthesized_expression "(*(char *)(pEVar37->nExpr + 0x51) == '\0')" ( (binary_expression "*(char *)(pEVar37->nExpr + 0x51) == '\0'" (pointer_expression "*(char *)(pEVar37->nExpr + 0x51)" * (cast_expression "(char *)(pEVar37->nExpr + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar37->nExpr + 0x51)" ( (binary_expression "pEVar37->nExpr + 0x51" (field_expression "pEVar37->nExpr" identifier -> field_identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                            pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;\n                          }" { (expression_statement "pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14;" (assignment_expression "pcVar39 = pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14" identifier = (binary_expression "pEVar37[4].a[0].zName +\n                                      (int)(pEVar37[4].a[0].zSpan + -1) * 0x14" (field_expression "pEVar37[4].a[0].zName" (subscript_expression "pEVar37[4].a[0]" (field_expression "pEVar37[4].a" (subscript_expression "pEVar37[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) + (binary_expression "(int)(pEVar37[4].a[0].zSpan + -1) * 0x14" (cast_expression "(int)(pEVar37[4].a[0].zSpan + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar37[4].a[0].zSpan + -1)" ( (binary_expression "pEVar37[4].a[0].zSpan + -1" (field_expression "pEVar37[4].a[0].zSpan" (subscript_expression "pEVar37[4].a[0]" (field_expression "pEVar37[4].a" (subscript_expression "pEVar37[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) + number_literal) ))) * number_literal))) ;) }) (else_clause "else {\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }" else (compound_statement "{\n                            pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);\n                          }" { (expression_statement "pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514);" (assignment_expression "pcVar39 = (char *)(*(int *)(puVar57 + 0x96b10) + -0x4514)" identifier = (cast_expression "(char *)(*(int *)(puVar57 + 0x96b10) + -0x4514)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b10) + -0x4514)" ( (binary_expression "*(int *)(puVar57 + 0x96b10) + -0x4514" (pointer_expression "*(int *)(puVar57 + 0x96b10)" * (cast_expression "(int *)(puVar57 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b10)" ( (binary_expression "puVar57 + 0x96b10" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "pcVar39[0xc] = '\0';" (assignment_expression "pcVar39[0xc] = '\0'" (subscript_expression "pcVar39[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar39[0xd] = '\0';" (assignment_expression "pcVar39[0xd] = '\0'" (subscript_expression "pcVar39[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar39[0xe] = '\0';" (assignment_expression "pcVar39[0xe] = '\0'" (subscript_expression "pcVar39[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar39[0xf] = '\0';" (assignment_expression "pcVar39[0xf] = '\0'" (subscript_expression "pcVar39[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar7 != 0) {\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                            (*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);\n                          }" { (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))(pParse_00,iVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96bf8) + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96bf8) + -0x7cb0)" ( (binary_expression "*(int *)(puVar57 + 0x96bf8) + -0x7cb0" (pointer_expression "*(int *)(puVar57 + 0x96bf8)" * (cast_expression "(int *)(puVar57 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bf8)" ( (binary_expression "puVar57 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c10);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = pcVar40;" (assignment_expression "pcVar39 = pcVar40" identifier = identifier) ;) })) (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar7 + -0x4bcc))(psVar53);" (call_expression "(*(code *)(iVar7 + -0x4bcc))(psVar53)" (parenthesized_expression "(*(code *)(iVar7 + -0x4bcc))" ( (pointer_expression "*(code *)(iVar7 + -0x4bcc)" * (cast_expression "(code *)(iVar7 + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x4bcc)" ( (binary_expression "iVar7 + -0x4bcc" identifier + number_literal) )))) )) (argument_list "(psVar53)" ( identifier ))) ;) (expression_statement "pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];" (assignment_expression "pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" identifier = (cast_expression "(WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) [ number_literal ]))) ;) (expression_statement "pcVar40 = pcVar39;" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) ;) (if_statement "if ((WhereInfo *)jumpIfNull != (WhereInfo *)0x0) goto LAB_000c52d0;" if (parenthesized_expression "((WhereInfo *)jumpIfNull != (WhereInfo *)0x0)" ( (binary_expression "(WhereInfo *)jumpIfNull != (WhereInfo *)0x0" (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c52d0;" goto statement_identifier ;)) }) (else_clause "else {\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }" else (compound_statement "{\n                        pWVar34 = (WhereInfo *)0x0;\n                        (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                        pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];\n                      }" { (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar53)" ( identifier ))) ;) (expression_statement "pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0];" (assignment_expression "pWStack_1a4 = (WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" identifier = (cast_expression "(WhereInfo *)\n                                      ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm[0]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                      addrOpenEphm" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) [ number_literal ]))) ;) }))) }) (else_clause "else {\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }" else (compound_statement "{\n                      in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;\n                      iVar33 = 0;\n                      *(byte *)(iVar45 + (int)&in_t2->pParse) = 0;\n                      iVar7 = 0;\n                      do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      *(byte *)&in_t3->pParse = 0;\n                      bVar18 = *(byte *)&in_t2->pParse;\n                      pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);\n                      if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar40 = pcVar39;\n                      if (uVar20 == 0x90) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);\n                      pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];\nLAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);\n                      pcVar40 = pcVar39;\n                    }" { (expression_statement "in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy;" (assignment_expression "in_t2 = (WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy" identifier = (cast_expression "(WhereInfo *)((WhereInfo *)jumpIfNull)->pOrderBy" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((WhereInfo *)jumpIfNull)->pOrderBy" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (expression_statement "*(byte *)(iVar45 + (int)&in_t2->pParse) = 0;" (assignment_expression "*(byte *)(iVar45 + (int)&in_t2->pParse) = 0" (pointer_expression "*(byte *)(iVar45 + (int)&in_t2->pParse)" * (cast_expression "(byte *)(iVar45 + (int)&in_t2->pParse)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + (int)&in_t2->pParse)" ( (binary_expression "iVar45 + (int)&in_t2->pParse" identifier + (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier)))) )))) = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      } while (iVar22 < iVar45);" do (compound_statement "{\n                        bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);\n                        iVar22 = iVar7 + 1;\n                        if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }\n                        iVar33 = iVar33 + 1;\n                        in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);\n                        *(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;\n                        iVar7 = iVar22;\n                      }" { (expression_statement "bVar18 = *(byte *)((int)&in_t2->pParse + iVar7);" (assignment_expression "bVar18 = *(byte *)((int)&in_t2->pParse + iVar7)" identifier = (pointer_expression "*(byte *)((int)&in_t2->pParse + iVar7)" * (cast_expression "(byte *)((int)&in_t2->pParse + iVar7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2->pParse + iVar7)" ( (binary_expression "(int)&in_t2->pParse + iVar7" (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))) + identifier) ))))) ;) (expression_statement "iVar22 = iVar7 + 1;" (assignment_expression "iVar22 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((WhereInfo *)(int)(char)bVar18 == pWVar36) {\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }" if (parenthesized_expression "((WhereInfo *)(int)(char)bVar18 == pWVar36)" ( (binary_expression "(WhereInfo *)(int)(char)bVar18 == pWVar36" (cast_expression "(WhereInfo *)(int)(char)bVar18" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)bVar18" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar18" ( (type_descriptor "char" primitive_type) ) identifier))) == identifier) )) (compound_statement "{\n                          pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);\n                          iVar22 = iVar7 + 2;\n                          bVar18 = *pbVar10;\n                        }" { (expression_statement "pbVar10 = (byte *)((int)&in_t2->pParse + iVar22);" (assignment_expression "pbVar10 = (byte *)((int)&in_t2->pParse + iVar22)" identifier = (cast_expression "(byte *)((int)&in_t2->pParse + iVar22)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2->pParse + iVar22)" ( (binary_expression "(int)&in_t2->pParse + iVar22" (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar22 = iVar7 + 2;" (assignment_expression "iVar22 = iVar7 + 2" identifier = (binary_expression "iVar7 + 2" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar10;" (assignment_expression "bVar18 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) })) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33);" (assignment_expression "in_t3 = (WhereInfo *)((int)&in_t2->pParse + iVar33)" identifier = (cast_expression "(WhereInfo *)((int)&in_t2->pParse + iVar33)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2->pParse + iVar33)" ( (binary_expression "(int)&in_t2->pParse + iVar33" (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "*(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18;" (assignment_expression "*(byte *)((int)&in_t3[-1].a[0].notReady + 7) = bVar18" (pointer_expression "*(byte *)((int)&in_t3[-1].a[0].notReady + 7)" * (cast_expression "(byte *)((int)&in_t3[-1].a[0].notReady + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t3[-1].a[0].notReady + 7)" ( (binary_expression "(int)&in_t3[-1].a[0].notReady + 7" (cast_expression "(int)&in_t3[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t3[-1].a[0].notReady" & (field_expression "in_t3[-1].a[0].notReady" (subscript_expression "in_t3[-1].a[0]" (field_expression "in_t3[-1].a" (subscript_expression "in_t3[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar22;" (assignment_expression "iVar7 = iVar22" identifier = identifier) ;) }) while (parenthesized_expression "(iVar22 < iVar45)" ( (binary_expression "iVar22 < iVar45" identifier < identifier) )) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bcc);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)&in_t3->pParse = 0;" (assignment_expression "*(byte *)&in_t3->pParse = 0" (pointer_expression "*(byte *)&in_t3->pParse" * (cast_expression "(byte *)&in_t3->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in_t3->pParse" & (field_expression "in_t3->pParse" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "bVar18 = *(byte *)&in_t2->pParse;" (assignment_expression "bVar18 = *(byte *)&in_t2->pParse" identifier = (pointer_expression "*(byte *)&in_t2->pParse" * (cast_expression "(byte *)&in_t2->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))))) ;) (expression_statement "pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18);" (assignment_expression "pWVar34 = (WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18)" identifier = (cast_expression "(WhereInfo *)(iVar7 + -0x7b28 + (uint)bVar18)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7b28 + (uint)bVar18)" ( (binary_expression "iVar7 + -0x7b28 + (uint)bVar18" (binary_expression "iVar7 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (if_statement "if (((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))) {\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }" if (parenthesized_expression "(((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1))))" ( (binary_expression "((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)) ||\n                         ((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))" (parenthesized_expression "((((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d))" ( (binary_expression "(((uint)pWVar34->pParse & 0x4000000) != 0) || (bVar18 == 0x2d)" (parenthesized_expression "(((uint)pWVar34->pParse & 0x4000000) != 0)" ( (binary_expression "((uint)pWVar34->pParse & 0x4000000) != 0" (parenthesized_expression "((uint)pWVar34->pParse & 0x4000000)" ( (binary_expression "(uint)pWVar34->pParse & 0x4000000" (cast_expression "(uint)pWVar34->pParse" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar34->pParse" identifier -> field_identifier)) & number_literal) )) != number_literal) )) || (parenthesized_expression "(bVar18 == 0x2d)" ( (binary_expression "bVar18 == 0x2d" identifier == number_literal) ))) )) || (parenthesized_expression "((pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)))" ( (parenthesized_expression "(pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1))" ( (comma_expression "pWVar49 = pWVar36, bVar18 == 0x2f && (iVar33 == 1)" (assignment_expression "pWVar49 = pWVar36" identifier = identifier) , (binary_expression "bVar18 == 0x2f && (iVar33 == 1)" (binary_expression "bVar18 == 0x2f" identifier == number_literal) && (parenthesized_expression "(iVar33 == 1)" ( (binary_expression "iVar33 == 1" identifier == number_literal) )))) )) ))) )) (compound_statement "{\n                        iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        pWVar49 = pWVar36;\n                        pcVar40 = pcVar39;\n                        if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }\n                        (*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);\n                        pcVar39 = pcVar40;\n                        uVar60 = uVar6;\n                        goto LAB_000c6178;\n                      }" { (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bf8);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bf8)" * (cast_expression "(int *)(puVar57 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bf8)" ( (binary_expression "puVar57 + 0x96bf8" identifier + number_literal) ))))) ;) (expression_statement "pWVar49 = pWVar36;" (assignment_expression "pWVar49 = pWVar36" identifier = identifier) ;) (expression_statement "pcVar40 = pcVar39;" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) ;) (if_statement "if (*pcVar39 == -0x62) {\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }" if (parenthesized_expression "(*pcVar39 == -0x62)" ( (binary_expression "*pcVar39 == -0x62" (pointer_expression "*pcVar39" * identifier) == number_literal) )) (compound_statement "{\n                          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);\n                          if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar7 = *(int *)(puVar57 + 0x96bf8);\n                        }" { (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))(pcVar39)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar57 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar57 + 0x96b94)" * (cast_expression "(int *)(puVar57 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b94)" ( (binary_expression "puVar57 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar39)" ( identifier )))) ;) (if_statement "if ((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;" if (parenthesized_expression "((iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0))" ( (binary_expression "(iVar7 == 0x42) &&\n                             (pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0)" (parenthesized_expression "(iVar7 == 0x42)" ( (binary_expression "iVar7 == 0x42" identifier == number_literal) )) && (parenthesized_expression "(pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0)" ( (comma_expression "pcVar40 = pcVar39, *(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) , (binary_expression "*(int *)(*(int *)(pcVar39 + 0x30) + 0x38) == 0" (pointer_expression "*(int *)(*(int *)(pcVar39 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar39 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar39 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar39 + 0x30)" * (cast_expression "(int *)(pcVar39 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x30)" ( (binary_expression "pcVar39 + 0x30" identifier + number_literal) )))) + number_literal) )))) == number_literal)) ))) )) (goto_statement "goto LAB_000c52ac;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bf8);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bf8)" * (cast_expression "(int *)(puVar57 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bf8)" ( (binary_expression "puVar57 + 0x96bf8" identifier + number_literal) ))))) ;) })) (expression_statement "(*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull);" (call_expression "(*(code *)(iVar7 + 0x7bc4))(pWVar42,jumpIfNull)" (parenthesized_expression "(*(code *)(iVar7 + 0x7bc4))" ( (pointer_expression "*(code *)(iVar7 + 0x7bc4)" * (cast_expression "(code *)(iVar7 + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x7bc4)" ( (binary_expression "iVar7 + 0x7bc4" identifier + number_literal) )))) )) (argument_list "(pWVar42,jumpIfNull)" ( identifier , identifier ))) ;) (expression_statement "pcVar39 = pcVar40;" (assignment_expression "pcVar39 = pcVar40" identifier = identifier) ;) (expression_statement "uVar60 = uVar6;" (assignment_expression "uVar60 = uVar6" identifier = identifier) ;) (goto_statement "goto LAB_000c6178;" goto statement_identifier ;) })) (labeled_statement "LAB_000c52ac:\n                      pcVar40 = pcVar39;" statement_identifier : (expression_statement "pcVar40 = pcVar39;" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) ;)) (if_statement "if (uVar20 == 0x90) goto LAB_000c6c34;" if (parenthesized_expression "(uVar20 == 0x90)" ( (binary_expression "uVar20 == 0x90" identifier == number_literal) )) (goto_statement "goto LAB_000c6c34;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar53)" ( identifier ))) ;) (expression_statement "pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0];" (assignment_expression "pWStack_1a4 = (WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0]" identifier = (cast_expression "(WhereInfo *)\n                                    ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm[0]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect->\n                                    addrOpenEphm" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pSelect" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) [ number_literal ]))) ;) (labeled_statement "LAB_000c52d0:\n                      pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);" statement_identifier : (expression_statement "pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0);" (assignment_expression "pWVar34 = (WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0)" identifier = (cast_expression "(WhereInfo *)\n                                (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))\n                                          (pWVar9,jumpIfNull,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pWVar9,jumpIfNull,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;)) (expression_statement "pcVar40 = pcVar39;" (assignment_expression "pcVar40 = pcVar39" identifier = identifier) ;) }))) (if_statement "if (((uint)pWStack_190 & 8) == 0) {\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }" if (parenthesized_expression "(((uint)pWStack_190 & 8) == 0)" ( (binary_expression "((uint)pWStack_190 & 8) == 0" (parenthesized_expression "((uint)pWStack_190 & 8)" ( (binary_expression "(uint)pWStack_190 & 8" (cast_expression "(uint)pWStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }\n                    }" { (if_statement "if (*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0') {\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }" if (parenthesized_expression "(*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0')" ( (binary_expression "*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1) ==\n                          '\0'" (pointer_expression "*(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1)" * (cast_expression "(char *)((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1)" ( (binary_expression "(int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo + 1" (cast_expression "(int)&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo" & (field_expression "(((WhereInfo *)pParse_00->pParse)->sWC).pWInfo" (parenthesized_expression "(((WhereInfo *)pParse_00->pParse)->sWC)" ( (field_expression "((WhereInfo *)pParse_00->pParse)->sWC" (parenthesized_expression "((WhereInfo *)pParse_00->pParse)" ( (cast_expression "(WhereInfo *)pParse_00->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pParse_00->pParse" identifier -> field_identifier)) )) -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        *(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;\n                        pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;\n                        bVar18 = *(byte *)&pEVar37->nExpr;\n                        if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }\n                      }" { (expression_statement "*(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400;" (assignment_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2) =\n                             *(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400" (pointer_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2) | 0x400" (pointer_expression "*(u16 *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) (expression_statement "pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy;" (assignment_expression "pEVar37 = ((WhereInfo *)jumpIfNull)->pOrderBy" identifier = (field_expression "((WhereInfo *)jumpIfNull)->pOrderBy" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "bVar18 = *(byte *)&pEVar37->nExpr;" (assignment_expression "bVar18 = *(byte *)&pEVar37->nExpr" identifier = (pointer_expression "*(byte *)&pEVar37->nExpr" * (cast_expression "(byte *)&pEVar37->nExpr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier))))) ;) (if_statement "if (bVar18 != 0) {\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (compound_statement "{\n                          iVar45 = *(int *)(puVar57 + 0x96bcc);\n                          in_t2 = (WhereInfo *)0x0;\n                          iVar7 = *(int *)(puVar57 + 0x96bcc);\n                          do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);\n                        }" { (expression_statement "iVar45 = *(int *)(puVar57 + 0x96bcc);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "in_t2 = (WhereInfo *)0x0;" (assignment_expression "in_t2 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bcc);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) ;) (do_statement "do {\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          } while (bVar18 != 0);" do (compound_statement "{\n                            pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);\n                            bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);\n                            *(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);\n                            ppWVar4 = (WhereInfo **)&in_t2->pParse;\n                            in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);\n                            *(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;\n                            pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);\n                            bVar18 = *(byte *)&pEVar37->nExpr;\n                          }" { (expression_statement "pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18);" (assignment_expression "pWVar49 = (WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18)" identifier = (cast_expression "(WhereInfo *)(iVar45 + -0x7b28 + (uint)bVar18)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x7b28 + (uint)bVar18)" ( (binary_expression "iVar45 + -0x7b28 + (uint)bVar18" (binary_expression "iVar45 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18);" (assignment_expression "bVar1 = *(byte *)(iVar7 + -0x7a28 + (uint)bVar18)" identifier = (pointer_expression "*(byte *)(iVar7 + -0x7a28 + (uint)bVar18)" * (cast_expression "(byte *)(iVar7 + -0x7a28 + (uint)bVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x7a28 + (uint)bVar18)" ( (binary_expression "iVar7 + -0x7a28 + (uint)bVar18" (binary_expression "iVar7 + -0x7a28" identifier + number_literal) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (expression_statement "*(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20);" (assignment_expression "*(byte *)&pEVar37->nExpr = bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20)" (pointer_expression "*(byte *)&pEVar37->nExpr" * (cast_expression "(byte *)&pEVar37->nExpr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier)))) = (binary_expression "bVar18 & ~(*(byte *)&pWVar49->pParse & 0x20)" identifier & (unary_expression "~(*(byte *)&pWVar49->pParse & 0x20)" ~ (parenthesized_expression "(*(byte *)&pWVar49->pParse & 0x20)" ( (binary_expression "*(byte *)&pWVar49->pParse & 0x20" (pointer_expression "*(byte *)&pWVar49->pParse" * (cast_expression "(byte *)&pWVar49->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->pParse" & (field_expression "pWVar49->pParse" identifier -> field_identifier)))) & number_literal) ))))) ;) (expression_statement "ppWVar4 = (WhereInfo **)&in_t2->pParse;" (assignment_expression "ppWVar4 = (WhereInfo **)&in_t2->pParse" identifier = (cast_expression "(WhereInfo **)&in_t2->pParse" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier)))) ;) (expression_statement "in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1);" (assignment_expression "in_t2 = (WhereInfo *)((int)&in_t2->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&in_t2->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2->pParse + 1)" ( (binary_expression "(int)&in_t2->pParse + 1" (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1;" (assignment_expression "*(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy) = bVar1" (pointer_expression "*(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy)" * (cast_expression "(byte *)((int)ppWVar4 + (int)pWVar34->pOrderBy)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppWVar4 + (int)pWVar34->pOrderBy)" ( (binary_expression "(int)ppWVar4 + (int)pWVar34->pOrderBy" (cast_expression "(int)ppWVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pWVar34->pOrderBy" ( (type_descriptor "int" primitive_type) ) (field_expression "pWVar34->pOrderBy" identifier -> field_identifier))) )))) = identifier) ;) (expression_statement "pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy);" (assignment_expression "pEVar37 = (ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy)" identifier = (cast_expression "(ExprList *)\n                                      ((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy)" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy)" ( (binary_expression "(int)&in_t2->pParse +\n                                      (int)((WhereInfo *)jumpIfNull)->pOrderBy" (cast_expression "(int)&in_t2->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t2->pParse" & (field_expression "in_t2->pParse" identifier -> field_identifier))) + (cast_expression "(int)((WhereInfo *)jumpIfNull)->pOrderBy" ( (type_descriptor "int" primitive_type) ) (field_expression "((WhereInfo *)jumpIfNull)->pOrderBy" (parenthesized_expression "((WhereInfo *)jumpIfNull)" ( (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) )))) ;) (expression_statement "bVar18 = *(byte *)&pEVar37->nExpr;" (assignment_expression "bVar18 = *(byte *)&pEVar37->nExpr" identifier = (pointer_expression "*(byte *)&pEVar37->nExpr" * (cast_expression "(byte *)&pEVar37->nExpr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier))))) ;) }) while (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) ;) })) })) (if_statement "if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }\n                      else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }" if (parenthesized_expression "(*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0')" ( (binary_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0'" (pointer_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" * (cast_expression "(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pWVar9->sWC).pWInfo + 1)" ( (binary_expression "(int)&(pWVar9->sWC).pWInfo + 1" (cast_expression "(int)&(pWVar9->sWC).pWInfo" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pWVar9->sWC).pWInfo" & (field_expression "(pWVar9->sWC).pWInfo" (parenthesized_expression "(pWVar9->sWC)" ( (field_expression "pWVar9->sWC" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }\n                        if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                        *pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;\n                      }" { (expression_statement "pEVar37 = pWVar34->pOrderBy;" (assignment_expression "pEVar37 = pWVar34->pOrderBy" identifier = (field_expression "pWVar34->pOrderBy" identifier -> field_identifier)) ;) (if_statement "if (pEVar37 == (ExprList *)0x0) {\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }" if (parenthesized_expression "(pEVar37 == (ExprList *)0x0)" ( (binary_expression "pEVar37 == (ExprList *)0x0" identifier == (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          bVar18 = *(byte *)(in_zero + -1);\n                          pbVar10 = (byte *)0xffffffff;\n                        }" { (expression_statement "bVar18 = *(byte *)(in_zero + -1);" (assignment_expression "bVar18 = *(byte *)(in_zero + -1)" identifier = (pointer_expression "*(byte *)(in_zero + -1)" * (cast_expression "(byte *)(in_zero + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) ))))) ;) (expression_statement "pbVar10 = (byte *)0xffffffff;" (assignment_expression "pbVar10 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }" else (compound_statement "{\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          bVar18 = *pbVar10;\n                        }" { (expression_statement "uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);" (assignment_expression "uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37)" identifier = (call_expression "(**(code **)(puVar57 + 0x96efc))(pEVar37)" (parenthesized_expression "(**(code **)(puVar57 + 0x96efc))" ( (pointer_expression "**(code **)(puVar57 + 0x96efc)" * (pointer_expression "*(code **)(puVar57 + 0x96efc)" * (cast_expression "(code **)(puVar57 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96efc)" ( (binary_expression "puVar57 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(pEVar37)" ( identifier )))) ;) (expression_statement "pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));" (assignment_expression "pbVar10 = (byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" identifier = (cast_expression "(byte *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" ( (binary_expression "(int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5)" (cast_expression "(int)pEVar37->a" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar37->a" identifier -> field_identifier)) + (parenthesized_expression "((uVar32 & 0x3fffffff) - 5)" ( (binary_expression "(uVar32 & 0x3fffffff) - 5" (parenthesized_expression "(uVar32 & 0x3fffffff)" ( (binary_expression "uVar32 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "bVar18 = *pbVar10;" (assignment_expression "bVar18 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) }))) (if_statement "if (bVar18 == 0x40) {\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }" if (parenthesized_expression "(bVar18 == 0x40)" ( (binary_expression "bVar18 == 0x40" identifier == number_literal) )) (compound_statement "{\n                          pWStack_18c = (WhereInfo *)0x0;\n                        }" { (expression_statement "pWStack_18c = (WhereInfo *)0x0;" (assignment_expression "pWStack_18c = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar57 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar57 + 0x96b34)" * (cast_expression "(int *)(puVar57 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b34)" ( (binary_expression "puVar57 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1;" (assignment_expression "*pbVar10 = *(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1" (pointer_expression "*pbVar10" * identifier) = (binary_expression "*(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28) +\n                                   1" (pointer_expression "*(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28)" * (cast_expression "(char *)((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28)" ( (binary_expression "(uint)bVar18 + *(int *)(puVar57 + 0x96bcc) + -0x7a28" (binary_expression "(uint)bVar18 + *(int *)(puVar57 + 0x96bcc)" (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier) + (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }" else (compound_statement "{\n                        iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;\n                      }" { (expression_statement "iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar57 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar57 + 0x96b34)" * (cast_expression "(int *)(puVar57 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b34)" ( (binary_expression "puVar57 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }" else (compound_statement "{\n                      iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }\n                      iVar7 = iVar7 + -0x7be0;\n                    }" { (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bcc);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) ;) (if_statement "if (*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0') {\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }" if (parenthesized_expression "(*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0')" ( (binary_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1) == '\0'" (pointer_expression "*(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" * (cast_expression "(u8 *)((int)&(pWVar9->sWC).pWInfo + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pWVar9->sWC).pWInfo + 1)" ( (binary_expression "(int)&(pWVar9->sWC).pWInfo + 1" (cast_expression "(int)&(pWVar9->sWC).pWInfo" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pWVar9->sWC).pWInfo" & (field_expression "(pWVar9->sWC).pWInfo" (parenthesized_expression "(pWVar9->sWC)" ( (field_expression "pWVar9->sWC" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        pEVar37 = pWVar34->pOrderBy;\n                        if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }\n                        iVar7 = *(int *)(puVar57 + 0x96bcc);\n                      }" { (expression_statement "pEVar37 = pWVar34->pOrderBy;" (assignment_expression "pEVar37 = pWVar34->pOrderBy" identifier = (field_expression "pWVar34->pOrderBy" identifier -> field_identifier)) ;) (if_statement "if (pEVar37 == (ExprList *)0x0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }" if (parenthesized_expression "(pEVar37 == (ExprList *)0x0)" ( (binary_expression "pEVar37 == (ExprList *)0x0" identifier == (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }" { (expression_statement "cRamffffffff = *(char *)(in_zero + -1) + '\x01';" (assignment_expression "cRamffffffff = *(char *)(in_zero + -1) + '\x01'" identifier = (binary_expression "*(char *)(in_zero + -1) + '\x01'" (pointer_expression "*(char *)(in_zero + -1)" * (cast_expression "(char *)(in_zero + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) }) (else_clause "else {\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }" else (compound_statement "{\n                          uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);\n                          pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));\n                          *pcVar39 = *pcVar39 + '\x01';\n                        }" { (expression_statement "uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37);" (assignment_expression "uVar32 = (**(code **)(puVar57 + 0x96efc))(pEVar37)" identifier = (call_expression "(**(code **)(puVar57 + 0x96efc))(pEVar37)" (parenthesized_expression "(**(code **)(puVar57 + 0x96efc))" ( (pointer_expression "**(code **)(puVar57 + 0x96efc)" * (pointer_expression "*(code **)(puVar57 + 0x96efc)" * (cast_expression "(code **)(puVar57 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96efc)" ( (binary_expression "puVar57 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(pEVar37)" ( identifier )))) ;) (expression_statement "pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5));" (assignment_expression "pcVar39 = (char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" identifier = (cast_expression "(char *)((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5))" ( (binary_expression "(int)pEVar37->a + ((uVar32 & 0x3fffffff) - 5)" (cast_expression "(int)pEVar37->a" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar37->a" identifier -> field_identifier)) + (parenthesized_expression "((uVar32 & 0x3fffffff) - 5)" ( (binary_expression "(uVar32 & 0x3fffffff) - 5" (parenthesized_expression "(uVar32 & 0x3fffffff)" ( (binary_expression "uVar32 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "*pcVar39 = *pcVar39 + '\x01';" (assignment_expression "*pcVar39 = *pcVar39 + '\x01'" (pointer_expression "*pcVar39" * identifier) = (binary_expression "*pcVar39 + '\x01'" (pointer_expression "*pcVar39" * identifier) + (char_literal "'\x01'" ' escape_sequence '))) ;) }))) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bcc);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) ))))) ;) })) (expression_statement "iVar7 = iVar7 + -0x7be0;" (assignment_expression "iVar7 = iVar7 + -0x7be0" identifier = (binary_expression "iVar7 + -0x7be0" identifier + number_literal)) ;) }))) (expression_statement "iVar45 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (if_statement "if (pWStack_1a4 == (WhereInfo *)0x0) {\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }\n                    else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }" if (parenthesized_expression "(pWStack_1a4 == (WhereInfo *)0x0)" ( (binary_expression "pWStack_1a4 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar33 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                    }" { (expression_statement "psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);" (assignment_expression "psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7);" (assignment_expression "uVar11 = (*(code *)psVar53)(pParse_00,0,iVar7)" identifier = (call_expression "(*(code *)psVar53)(pParse_00,0,iVar7)" (parenthesized_expression "(*(code *)psVar53)" ( (pointer_expression "*(code *)psVar53" * (cast_expression "(code *)psVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pParse_00,0,iVar7)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);" (assignment_expression "iVar45 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull)" identifier = (call_expression "(*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pParse_00,0x39,uVar11,jumpIfNull)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar45 == 0) {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }\n                      else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" if (parenthesized_expression "(iVar45 == 0)" ( (binary_expression "iVar45 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        iVar45 = 0;\n                      }" { (expression_statement "iVar33 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" else (compound_statement "{\n                        iVar33 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" { (expression_statement "iVar33 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1;" (assignment_expression "*(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar45 + 4)" * (cast_expression "(uint *)(iVar45 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar45 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar45 + 4)" * (cast_expression "(uint *)(iVar45 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) | (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal))) ;) (expression_statement "*(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);" (assignment_expression "*(i16 *)(iVar45 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2)" (pointer_expression "*(i16 *)(iVar45 + 0x26)" * (cast_expression "(i16 *)(iVar45 + 0x26)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x26)" ( (binary_expression "iVar45 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) ;) }))) (expression_statement "pcVar43 = (code *)(iVar33 + -0x73f4);" (assignment_expression "pcVar43 = (code *)(iVar33 + -0x73f4)" identifier = (cast_expression "(code *)(iVar33 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + -0x73f4)" ( (binary_expression "iVar33 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "jumpIfNull = (*pcVar43)(pWC,iVar45,0x103);" (assignment_expression "jumpIfNull = (*pcVar43)(pWC,iVar45,0x103)" identifier = (call_expression "(*pcVar43)(pWC,iVar45,0x103)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pWC,iVar45,0x103)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar33 = *(int *)(puVar57 + 0x96dac);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);" (call_expression "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull)" identifier (argument_list "((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull)" ( (cast_expression "(SrcList *)pPVar28" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(WhereClause *)pWC" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) }) (else_clause "else {\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }" else (compound_statement "{\n                      uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                      psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);\n                      uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);\n                      pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);\n                      iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);\n                      if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }\n                      pcVar43 = (code *)(iVar22 + -0x73f4);\n                      jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);\n                      iVar33 = *(int *)(puVar57 + 0x96dac);\n                      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);\n                      pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);\n                    }" { (expression_statement "uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);" (assignment_expression "uVar11 = (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0)" identifier = (call_expression "(*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar45 + -0x271c))" ( (pointer_expression "*(code *)(iVar45 + -0x271c)" * (cast_expression "(code *)(iVar45 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x271c)" ( (binary_expression "iVar45 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pWVar9,pWStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864);" (assignment_expression "psVar53 = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x4864)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7);" (assignment_expression "uVar11 = (*(code *)psVar53)(pParse_00,uVar11,iVar7)" identifier = (call_expression "(*(code *)psVar53)(pParse_00,uVar11,iVar7)" (parenthesized_expression "(*(code *)psVar53)" ( (pointer_expression "*(code *)psVar53" * (cast_expression "(code *)psVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pParse_00,uVar11,iVar7)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar59 = (code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull);" (assignment_expression "iVar33 = (*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull)" identifier = (call_expression "(*pcVar59)(pParse_00,0x39,uVar11,jumpIfNull)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pParse_00,0x39,uVar11,jumpIfNull)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar33 == 0) {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }\n                      else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        iVar33 = 0;\n                      }" { (expression_statement "iVar22 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar22 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" else (compound_statement "{\n                        iVar22 = *(int *)(puVar57 + 0x96c38);\n                        *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                        *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                      }" { (expression_statement "iVar22 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar22 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;" (assignment_expression "*(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar33 + 4)" * (cast_expression "(uint *)(iVar33 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 4)" ( (binary_expression "iVar33 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar33 + 4)" * (cast_expression "(uint *)(iVar33 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 4)" ( (binary_expression "iVar33 + 4" identifier + number_literal) )))) | (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal))) ;) (expression_statement "*(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);" (assignment_expression "*(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2)" (pointer_expression "*(i16 *)(iVar33 + 0x26)" * (cast_expression "(i16 *)(iVar33 + 0x26)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x26)" ( (binary_expression "iVar33 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) ;) }))) (expression_statement "pcVar43 = (code *)(iVar22 + -0x73f4);" (assignment_expression "pcVar43 = (code *)(iVar22 + -0x73f4)" identifier = (cast_expression "(code *)(iVar22 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x73f4)" ( (binary_expression "iVar22 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "jumpIfNull = (*pcVar43)(pWC,iVar33,0x103);" (assignment_expression "jumpIfNull = (*pcVar43)(pWC,iVar33,0x103)" identifier = (call_expression "(*pcVar43)(pWC,iVar33,0x103)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pWC,iVar33,0x103)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar33 = *(int *)(puVar57 + 0x96dac);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull);" (call_expression "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull)" identifier (argument_list "((SrcList *)pPVar28,(WhereClause *)pWC,jumpIfNull)" ( (cast_expression "(SrcList *)pPVar28" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(WhereClause *)pWC" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0);" (assignment_expression "pWStack_1a4 = (WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0)" identifier = (cast_expression "(WhereInfo *)\n                                    (*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar45 + -0x271c))(pWVar9,pWStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar45 + -0x271c))" ( (pointer_expression "*(code *)(iVar45 + -0x271c)" * (cast_expression "(code *)(iVar45 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x271c)" ( (binary_expression "iVar45 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pWVar9,pWStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) }))) (expression_statement "pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8);" (assignment_expression "pWStack_190 = (WhereInfo *)(iVar33 + 0x4ac8)" identifier = (cast_expression "(WhereInfo *)(iVar33 + 0x4ac8)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x4ac8)" ( (binary_expression "iVar33 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7);" (assignment_expression "uVar11 = (*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7)" identifier = (call_expression "(*(code *)psVar53)(pParse_00,pWStack_1a4,iVar7)" (parenthesized_expression "(*(code *)psVar53)" ( (pointer_expression "*(code *)psVar53" * (cast_expression "(code *)psVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pParse_00,pWStack_1a4,iVar7)" ( identifier , identifier , identifier )))) ;) (expression_statement "iVar7 = (*pcVar59)(pParse_00,0x38,uVar11);" (assignment_expression "iVar7 = (*pcVar59)(pParse_00,0x38,uVar11)" identifier = (call_expression "(*pcVar59)(pParse_00,0x38,uVar11)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pParse_00,0x38,uVar11)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;\n                      *(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n                    }" { (expression_statement "*(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1;" (assignment_expression "*(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) | (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal))) ;) (expression_statement "*(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);" (assignment_expression "*(i16 *)(iVar7 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2)" (pointer_expression "*(i16 *)(iVar7 + 0x26)" * (cast_expression "(i16 *)(iVar7 + 0x26)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26)" ( (binary_expression "iVar7 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) ;) })) (expression_statement "pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103);" (assignment_expression "pWVar42 = (WhereInfo *)(*pcVar43)(pWC,iVar7,0x103)" identifier = (cast_expression "(WhereInfo *)(*pcVar43)(pWC,iVar7,0x103)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar43)(pWC,iVar7,0x103)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pWC,iVar7,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "(*(code *)pWStack_190)(pPVar28,pWC,pWVar42);" (call_expression "(*(code *)pWStack_190)(pPVar28,pWC,pWVar42)" (parenthesized_expression "(*(code *)pWStack_190)" ( (pointer_expression "*(code *)pWStack_190" * (cast_expression "(code *)pWStack_190" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar28,pWC,pWVar42)" ( identifier , identifier , identifier ))) ;) (expression_statement "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);" (assignment_expression "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (binary_expression "(int)&pWStack_19c->pParse + *(int *)&pWC->iLimit" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) )))) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,pParse_00);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,pParse_00)" identifier = (call_expression "CONCAT44(pWStack_1a4,pParse_00)" identifier (argument_list "(pWStack_1a4,pParse_00)" ( identifier , identifier )))) ;) (expression_statement "BVar64 = CONCAT44(pcVar40,pWVar49);" (assignment_expression "BVar64 = CONCAT44(pcVar40,pWVar49)" identifier = (call_expression "CONCAT44(pcVar40,pWVar49)" identifier (argument_list "(pcVar40,pWVar49)" ( identifier , identifier )))) ;) (if_statement "if (pWStack_18c != (WhereInfo *)0x0) {\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }" if (parenthesized_expression "(pWStack_18c != (WhereInfo *)0x0)" ( (binary_expression "pWStack_18c != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      *(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;\n                      *(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n                      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';\n                      uVar60 = CONCAT44(pWStack_1a4,pParse_00);\n                      BVar64 = CONCAT44(pcVar40,pWVar49);\n                    }" { (expression_statement "*(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120;" (assignment_expression "*(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10) = pEStack_120" (pointer_expression "*(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10)" * (cast_expression "(Expr **)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10)" ( (binary_expression "*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 0x10" (binary_expression "*(int *)&pWC->iLimit + jumpIfNull * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "jumpIfNull * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);" (assignment_expression "*(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" (pointer_expression "*(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8)" ( (binary_expression "*(int *)&pWC->iLimit + jumpIfNull * 0x30 + 8" (binary_expression "*(int *)&pWC->iLimit + jumpIfNull * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "jumpIfNull * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" * (cast_expression "(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) ))))) ;) (expression_statement "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';" (assignment_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) = (binary_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "*(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120;" (assignment_expression "*(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10) = pEStack_120" (pointer_expression "*(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10)" * (cast_expression "(Expr **)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10)" ( (binary_expression "*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 0x10" (binary_expression "*(int *)&pWC->iLimit + (int)pWVar42 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "(int)pWVar42 * 0x30" (cast_expression "(int)pWVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);" (assignment_expression "*(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8) =\n                           *(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" (pointer_expression "*(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8)" ( (binary_expression "*(int *)&pWC->iLimit + (int)pWVar42 * 0x30 + 8" (binary_expression "*(int *)&pWC->iLimit + (int)pWVar42 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "(int)pWVar42 * 0x30" (cast_expression "(int)pWVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" * (cast_expression "(undefined2 *)\n                            ((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) ))))) ;) (expression_statement "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01';" (assignment_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) = (binary_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) +\n                           '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,pParse_00);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,pParse_00)" identifier = (call_expression "CONCAT44(pWStack_1a4,pParse_00)" identifier (argument_list "(pWStack_1a4,pParse_00)" ( identifier , identifier )))) ;) (expression_statement "BVar64 = CONCAT44(pcVar40,pWVar49);" (assignment_expression "BVar64 = CONCAT44(pcVar40,pWVar49)" identifier = (call_expression "CONCAT44(pcVar40,pWVar49)" identifier (argument_list "(pcVar40,pWVar49)" ( identifier , identifier )))) ;) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) })) })) })) }))) (labeled_statement "LAB_000c6178:\n          (*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))(psVar53)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar57 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar57 + 0x96c10)" * (cast_expression "(int *)(puVar57 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c10)" ( (binary_expression "puVar57 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar53)" ( identifier ))) ;)) (expression_statement "BVar64 = CONCAT44(pcVar39,pWVar49);" (assignment_expression "BVar64 = CONCAT44(pcVar39,pWVar49)" identifier = (call_expression "CONCAT44(pcVar39,pWVar49)" identifier (argument_list "(pcVar39,pWVar49)" ( identifier , identifier )))) ;) (expression_statement "cVar19 = *(char *)&pWC->pOrderBy;" (assignment_expression "cVar19 = *(char *)&pWC->pOrderBy" identifier = (pointer_expression "*(char *)&pWC->pOrderBy" * (cast_expression "(char *)&pWC->pOrderBy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier))))) ;) }))) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (cVar19 != ',') goto LAB_000c4d88;" if (parenthesized_expression "(cVar19 != ',')" ( (binary_expression "cVar19 != ','" identifier != (char_literal "','" ' character ')) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar32 = (uint)*(byte *)&pWVar56->pParse;" (assignment_expression "uVar32 = (uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(uint)*(byte *)&pWVar56->pParse" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) })) })) (expression_statement "uVar11 = (undefined4)(BVar64 >> 0x20);" (assignment_expression "uVar11 = (undefined4)(BVar64 >> 0x20)" identifier = (call_expression "(undefined4)(BVar64 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(BVar64 >> 0x20)" ( (binary_expression "BVar64 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar21 = (uint)BVar64;" (assignment_expression "uVar21 = (uint)BVar64" identifier = (cast_expression "(uint)BVar64" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar62 = CONCAT44(psVar53,jumpIfNull);" (assignment_expression "uVar62 = CONCAT44(psVar53,jumpIfNull)" identifier = (call_expression "CONCAT44(psVar53,jumpIfNull)" identifier (argument_list "(psVar53,jumpIfNull)" ( identifier , identifier )))) ;) (expression_statement "cVar19 = ',';" (assignment_expression "cVar19 = ','" identifier = (char_literal "','" ' character ')) ;) (if_statement "if (uVar32 == 0x9d) {\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(uVar32 == 0x9d)" ( (binary_expression "uVar32 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;\n      BVar61 = BVar64;\n      if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }" { (expression_statement "pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList;" (assignment_expression "pWVar42 = (WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" identifier = (cast_expression "(WhereInfo *)((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if ((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)) {\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" if (parenthesized_expression "((pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2))" ( (binary_expression "(pWVar42 != (WhereInfo *)0x0) && (pWVar42->pParse == (Parse *)0x2)" (parenthesized_expression "(pWVar42 != (WhereInfo *)0x0)" ( (binary_expression "pWVar42 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pWVar42->pParse == (Parse *)0x2)" ( (binary_expression "pWVar42->pParse == (Parse *)0x2" (field_expression "pWVar42->pParse" identifier -> field_identifier) == (cast_expression "(Parse *)0x2" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }\n        BVar64 = CONCAT44(uVar11,uVar21);\n        pWVar49 = (WhereInfo *)pWVar42->pTabList;\n        BVar61 = CONCAT44(uVar11,uVar21);\n        if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" { (expression_statement "pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0];" (assignment_expression "pWVar49 = (WhereInfo *)pWVar42->aiCurOnePass[0]" identifier = (cast_expression "(WhereInfo *)pWVar42->aiCurOnePass[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pWVar42->aiCurOnePass[0]" (field_expression "pWVar42->aiCurOnePass" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }" if (parenthesized_expression "((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0))" ( (binary_expression "(*(byte *)&pWVar49->pParse == 0x9e) &&\n           (bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)" (parenthesized_expression "(*(byte *)&pWVar49->pParse == 0x9e)" ( (binary_expression "*(byte *)&pWVar49->pParse == 0x9e" (pointer_expression "*(byte *)&pWVar49->pParse" * (cast_expression "(byte *)&pWVar49->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->pParse" & (field_expression "pWVar49->pParse" identifier -> field_identifier)))) == number_literal) )) && (parenthesized_expression "(bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)" ( (comma_expression "bVar18 = 0x6d,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0" (assignment_expression "bVar18 = 0x6d" identifier = number_literal) , (binary_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab" (parenthesized_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)" ( (cast_expression "(anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted" ( (type_descriptor "anon_union_8_3_c79b3df9_for_y *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->sorted" & (field_expression "pWVar49->sorted" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) != number_literal)) ))) )) (compound_statement "{\n          in_t4 = (WhereInfo *)0x0;\n          in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n          iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;\n          in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);\n          pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }\n        }" { (expression_statement "in_t4 = (WhereInfo *)0x0;" (assignment_expression "in_t4 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;" (assignment_expression "in_t6 = (WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" identifier = (binary_expression "(WhereInfo *)\n                  (uint)(byte)*((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" (cast_expression "(WhereInfo *)\n                  (uint)(byte)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * (field_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" (parenthesized_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)" ( (cast_expression "(anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy" ( (type_descriptor "anon_union_4_2_443a03b8_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pOrderBy" & (field_expression "pWVar56->pOrderBy" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28;" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96bcc) + -0x7a28" identifier = (binary_expression "*(int *)(puVar57 + 0x96bcc) + -0x7a28" (pointer_expression "*(int *)(puVar57 + 0x96bcc)" * (cast_expression "(int *)(puVar57 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bcc)" ( (binary_expression "puVar57 + 0x96bcc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4);" (assignment_expression "in_t3 = (WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96b10) + -0x6da4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b10) + -0x6da4)" ( (binary_expression "*(int *)(puVar57 + 0x96b10) + -0x6da4" (pointer_expression "*(int *)(puVar57 + 0x96b10)" * (cast_expression "(int *)(puVar57 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b10)" ( (binary_expression "puVar57 + 0x96b10" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4);" (assignment_expression "pEVar37 = (ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4)" identifier = (cast_expression "(ExprList *)(*(int *)(puVar57 + 0x96b34) + -0xfb4)" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b34) + -0xfb4)" ( (binary_expression "*(int *)(puVar57 + 0x96b34) + -0xfb4" (pointer_expression "*(int *)(puVar57 + 0x96b34)" * (cast_expression "(int *)(puVar57 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b34)" ( (binary_expression "puVar57 + 0x96b34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_t5 = in_t3;" (assignment_expression "in_t5 = in_t3" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;\n            pWVar29 = in_t6;\n            if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }\n            in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);\n            in_t5 = (WhereInfo *)&in_t5->pOrderBy;\n            if (in_t4 == (WhereInfo *)&DAT_00000004) break;\n            pEVar37 = *(ExprList **)in_t5;\n            bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);\n          }" { (expression_statement "pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken;" (assignment_expression "pbVar10 = (byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" identifier = (cast_expression "(byte *)((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" (parenthesized_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)" ( (cast_expression "(anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy" ( (type_descriptor "anon_union_4_2_443a03b8_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pOrderBy" & (field_expression "pWVar56->pOrderBy" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "pWVar29 = in_t6;" (assignment_expression "pWVar29 = in_t6" identifier = identifier) ;) (if_statement "if (*(byte *)(iVar7 + (int)in_t6) == bVar18) {\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }" if (parenthesized_expression "(*(byte *)(iVar7 + (int)in_t6) == bVar18)" ( (binary_expression "*(byte *)(iVar7 + (int)in_t6) == bVar18" (pointer_expression "*(byte *)(iVar7 + (int)in_t6)" * (cast_expression "(byte *)(iVar7 + (int)in_t6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (int)in_t6)" ( (binary_expression "iVar7 + (int)in_t6" identifier + (cast_expression "(int)in_t6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == identifier) )) (compound_statement "{\n              do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));\n            }" { (do_statement "do {\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              } while (uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)));" do (compound_statement "{\n                if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }\n                pbVar10 = pbVar10 + 1;\n                piVar47 = &pEVar37->nExpr;\n                pWVar34 = (WhereInfo *)(uint)*pbVar10;\n                uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);\n                pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);\n                pWVar29 = pWVar34;\n              }" { (if_statement "if (pWVar29 == (WhereInfo *)0x0) {\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }" if (parenthesized_expression "(pWVar29 == (WhereInfo *)0x0)" ( (binary_expression "pWVar29 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  BVar64 = CONCAT44(uVar11,uVar21);\n                  pWVar44 = (WhereInfo *)pWVar42->pTabList;\n                  uVar21 = 1;\n                  in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);\n                  pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;\n                  goto LAB_000c5c84;\n                }" { (expression_statement "BVar64 = CONCAT44(uVar11,uVar21);" (assignment_expression "BVar64 = CONCAT44(uVar11,uVar21)" identifier = (call_expression "CONCAT44(uVar11,uVar21)" identifier (argument_list "(uVar11,uVar21)" ( identifier , identifier )))) ;) (expression_statement "pWVar44 = (WhereInfo *)pWVar42->pTabList;" (assignment_expression "pWVar44 = (WhereInfo *)pWVar42->pTabList" identifier = (cast_expression "(WhereInfo *)pWVar42->pTabList" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar42->pTabList" identifier -> field_identifier))) ;) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) (expression_statement "in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2);" (assignment_expression "in_t4 = (WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2)" identifier = (cast_expression "(WhereInfo *)(&in_t3->pParse + (int)in_t4 * 2)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&in_t3->pParse + (int)in_t4 * 2)" ( (binary_expression "&in_t3->pParse + (int)in_t4 * 2" (pointer_expression "&in_t3->pParse" & (field_expression "in_t3->pParse" identifier -> field_identifier)) + (binary_expression "(int)in_t4 * 2" (cast_expression "(int)in_t4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList;" (assignment_expression "pWStack_18c = (WhereInfo *)(uint)*(byte *)&in_t4->pTabList" identifier = (binary_expression "(WhereInfo *)(uint)*(byte *)&in_t4->pTabList" (cast_expression "(WhereInfo *)(uint)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&in_t4->pTabList" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in_t4->pTabList" & (field_expression "in_t4->pTabList" identifier -> field_identifier))))) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "piVar47 = &pEVar37->nExpr;" (assignment_expression "piVar47 = &pEVar37->nExpr" identifier = (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier))) ;) (expression_statement "pWVar34 = (WhereInfo *)(uint)*pbVar10;" (assignment_expression "pWVar34 = (WhereInfo *)(uint)*pbVar10" identifier = (binary_expression "(WhereInfo *)(uint)*pbVar10" (cast_expression "(WhereInfo *)(uint)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34);" (assignment_expression "uVar21 = (uint)*(byte *)(iVar7 + (int)pWVar34)" identifier = (binary_expression "(uint)*(byte *)(iVar7 + (int)pWVar34)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar7 + (int)pWVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (int)pWVar34)" ( (binary_expression "iVar7 + (int)pWVar34" identifier + (cast_expression "(int)pWVar34" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1);" (assignment_expression "pEVar37 = (ExprList *)((int)&pEVar37->nExpr + 1)" identifier = (cast_expression "(ExprList *)((int)&pEVar37->nExpr + 1)" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar37->nExpr + 1)" ( (binary_expression "(int)&pEVar37->nExpr + 1" (cast_expression "(int)&pEVar37->nExpr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pWVar29 = pWVar34;" (assignment_expression "pWVar29 = pWVar34" identifier = identifier) ;) }) while (parenthesized_expression "(uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1)))" ( (binary_expression "uVar21 == *(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1))" identifier == (pointer_expression "*(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1))" * (cast_expression "(byte *)(iVar7 + (uint)*(byte *)((int)piVar47 + 1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (uint)*(byte *)((int)piVar47 + 1))" ( (binary_expression "iVar7 + (uint)*(byte *)((int)piVar47 + 1)" identifier + (binary_expression "(uint)*(byte *)((int)piVar47 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)piVar47 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 1)" ( (binary_expression "(int)piVar47 + 1" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))))) )) ;) })) (expression_statement "in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1);" (assignment_expression "in_t4 = (WhereInfo *)((int)&in_t4->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&in_t4->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_t4->pParse + 1)" ( (binary_expression "(int)&in_t4->pParse + 1" (cast_expression "(int)&in_t4->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_t4->pParse" & (field_expression "in_t4->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "in_t5 = (WhereInfo *)&in_t5->pOrderBy;" (assignment_expression "in_t5 = (WhereInfo *)&in_t5->pOrderBy" identifier = (cast_expression "(WhereInfo *)&in_t5->pOrderBy" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&in_t5->pOrderBy" & (field_expression "in_t5->pOrderBy" identifier -> field_identifier)))) ;) (if_statement "if (in_t4 == (WhereInfo *)&DAT_00000004) break;" if (parenthesized_expression "(in_t4 == (WhereInfo *)&DAT_00000004)" ( (binary_expression "in_t4 == (WhereInfo *)&DAT_00000004" identifier == (cast_expression "(WhereInfo *)&DAT_00000004" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) )) (break_statement "break;" break ;)) (expression_statement "pEVar37 = *(ExprList **)in_t5;" (assignment_expression "pEVar37 = *(ExprList **)in_t5" identifier = (pointer_expression "*(ExprList **)in_t5" * (cast_expression "(ExprList **)in_t5" ( (type_descriptor "ExprList **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr);" (assignment_expression "bVar18 = *(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr)" identifier = (pointer_expression "*(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr)" * (cast_expression "(byte *)(iVar7 + (uint)*(byte *)&pEVar37->nExpr)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + (uint)*(byte *)&pEVar37->nExpr)" ( (binary_expression "iVar7 + (uint)*(byte *)&pEVar37->nExpr" identifier + (binary_expression "(uint)*(byte *)&pEVar37->nExpr" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pEVar37->nExpr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar37->nExpr" & (field_expression "pEVar37->nExpr" identifier -> field_identifier))))) ))))) ;) })) })) (expression_statement "BVar64 = CONCAT44(uVar11,uVar21);" (assignment_expression "BVar64 = CONCAT44(uVar11,uVar21)" identifier = (call_expression "CONCAT44(uVar11,uVar21)" identifier (argument_list "(uVar11,uVar21)" ( identifier , identifier )))) ;) (expression_statement "pWVar49 = (WhereInfo *)pWVar42->pTabList;" (assignment_expression "pWVar49 = (WhereInfo *)pWVar42->pTabList" identifier = (cast_expression "(WhereInfo *)pWVar42->pTabList" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar42->pTabList" identifier -> field_identifier))) ;) (expression_statement "BVar61 = CONCAT44(uVar11,uVar21);" (assignment_expression "BVar61 = CONCAT44(uVar11,uVar21)" identifier = (call_expression "CONCAT44(uVar11,uVar21)" identifier (argument_list "(uVar11,uVar21)" ( identifier , identifier )))) ;) (if_statement "if ((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)) {\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" if (parenthesized_expression "((*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0))" ( (binary_expression "(*(byte *)&pWVar49->pParse == 0x9e) &&\n           (BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)" (parenthesized_expression "(*(byte *)&pWVar49->pParse == 0x9e)" ( (binary_expression "*(byte *)&pWVar49->pParse == 0x9e" (pointer_expression "*(byte *)&pWVar49->pParse" * (cast_expression "(byte *)&pWVar49->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->pParse" & (field_expression "pWVar49->pParse" identifier -> field_identifier)))) == number_literal) )) && (parenthesized_expression "(BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0)" ( (comma_expression "BVar61 = BVar64,\n           ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0" (assignment_expression "BVar61 = BVar64" identifier = identifier) , (binary_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab" (parenthesized_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)" ( (cast_expression "(anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted" ( (type_descriptor "anon_union_8_3_c79b3df9_for_y *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->sorted" & (field_expression "pWVar49->sorted" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) != number_literal)) ))) )) (compound_statement "{\n          pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;\n          if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }\n          pWVar34 = (WhereInfo *)pVVar24->db;\n          while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }\n          p_Var58 = pVVar24->pVtab->pModule->xFindFunction;\n          pWVar34 = (WhereInfo *)&stack0xfffffe98;\n          if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" { (expression_statement "pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable;" (assignment_expression "pVVar24 = ((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable" identifier = (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->pVTable" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab" (parenthesized_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)" ( (cast_expression "(anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted" ( (type_descriptor "anon_union_8_3_c79b3df9_for_y *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->sorted" & (field_expression "pWVar49->sorted" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier)) ;) (if_statement "if (pVVar24 == (VTable *)0x0) {\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }" if (parenthesized_expression "(pVVar24 == (VTable *)0x0)" ( (binary_expression "pVVar24 == (VTable *)0x0" identifier == (cast_expression "(VTable *)0x0" ( (type_descriptor "VTable *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);\n            (*pcVar59)();\n          }" { (labeled_statement "LAB_000c7224:\n                    /* WARNING: Does not return */\n            pcVar59 = (code *)trap(0);" statement_identifier : comment (expression_statement "pcVar59 = (code *)trap(0);" (assignment_expression "pcVar59 = (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 "(*pcVar59)();" (call_expression "(*pcVar59)()" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "pWVar34 = (WhereInfo *)pVVar24->db;" (assignment_expression "pWVar34 = (WhereInfo *)pVVar24->db" identifier = (cast_expression "(WhereInfo *)pVVar24->db" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pVVar24->db" identifier -> field_identifier))) ;) (while_statement "while (pWVar9 != pWVar34) {\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }" while (parenthesized_expression "(pWVar9 != pWVar34)" ( (binary_expression "pWVar9 != pWVar34" identifier != identifier) )) (compound_statement "{\n            pVVar24 = pVVar24->pNext;\n            if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;\n            pWVar34 = (WhereInfo *)pVVar24->db;\n          }" { (expression_statement "pVVar24 = pVVar24->pNext;" (assignment_expression "pVVar24 = pVVar24->pNext" identifier = (field_expression "pVVar24->pNext" identifier -> field_identifier)) ;) (if_statement "if (pVVar24 == (VTable *)0x0) goto LAB_000c7224;" if (parenthesized_expression "(pVVar24 == (VTable *)0x0)" ( (binary_expression "pVVar24 == (VTable *)0x0" identifier == (cast_expression "(VTable *)0x0" ( (type_descriptor "VTable *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7224;" goto statement_identifier ;)) (expression_statement "pWVar34 = (WhereInfo *)pVVar24->db;" (assignment_expression "pWVar34 = (WhereInfo *)pVVar24->db" identifier = (cast_expression "(WhereInfo *)pVVar24->db" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pVVar24->db" identifier -> field_identifier))) ;) })) (expression_statement "p_Var58 = pVVar24->pVtab->pModule->xFindFunction;" (assignment_expression "p_Var58 = pVVar24->pVtab->pModule->xFindFunction" identifier = (field_expression "pVVar24->pVtab->pModule->xFindFunction" (field_expression "pVVar24->pVtab->pModule" (field_expression "pVVar24->pVtab" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (expression_statement "pWVar34 = (WhereInfo *)&stack0xfffffe98;" (assignment_expression "pWVar34 = (WhereInfo *)&stack0xfffffe98" identifier = (cast_expression "(WhereInfo *)&stack0xfffffe98" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xfffffe98" & identifier))) ;) (if_statement "if (p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0) {\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" if (parenthesized_expression "(p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0)" ( (binary_expression "p_Var58 !=\n              (_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0" identifier != (cast_expression "(_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr_int_char_ptr__func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr_ptr_ptr_void_ptr_ptr\n               *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);\n            BVar64 = CONCAT44(uVar11,uVar21);\n            if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" { (expression_statement "uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164);" (assignment_expression "uVar32 = (*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164)" identifier = (call_expression "(*p_Var58)(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164)" (parenthesized_expression "(*p_Var58)" ( (pointer_expression "*p_Var58" * identifier) )) (argument_list "(pVVar24->pVtab,2,\n                                ((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken,\n                                (_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34\n                                ,&pvStack_164)" ( (field_expression "pVVar24->pVtab" identifier -> field_identifier) , number_literal , (field_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)->zToken" (parenthesized_expression "((anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy)" ( (cast_expression "(anon_union_4_2_443a03b8_for_u *)&pWVar56->pOrderBy" ( (type_descriptor "anon_union_4_2_443a03b8_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pOrderBy" & (field_expression "pWVar56->pOrderBy" identifier -> field_identifier))) )) -> field_identifier) , (cast_expression "(_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **)pWVar34" ( (type_descriptor "_func_void_sqlite3_context_ptr_int_sqlite3_value_ptr_ptr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (pointer_expression "&pvStack_164" & identifier) )))) ;) (expression_statement "BVar64 = CONCAT44(uVar11,uVar21);" (assignment_expression "BVar64 = CONCAT44(uVar11,uVar21)" identifier = (call_expression "CONCAT44(uVar11,uVar21)" identifier (argument_list "(uVar11,uVar21)" ( identifier , identifier )))) ;) (if_statement "if (0x95 < (int)uVar32) {\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }" if (parenthesized_expression "(0x95 < (int)uVar32)" ( (binary_expression "0x95 < (int)uVar32" number_literal < (cast_expression "(int)uVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pWStack_18c = (WhereInfo *)(uVar32 & 0xff);\n              pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];\n              uVar21 = 1;\n              goto LAB_000c5c84;\n            }" { (expression_statement "pWStack_18c = (WhereInfo *)(uVar32 & 0xff);" (assignment_expression "pWStack_18c = (WhereInfo *)(uVar32 & 0xff)" identifier = (cast_expression "(WhereInfo *)(uVar32 & 0xff)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar32 & 0xff)" ( (binary_expression "uVar32 & 0xff" identifier & number_literal) )))) ;) (expression_statement "pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0];" (assignment_expression "pWVar44 = (WhereInfo *)pWVar42->aiCurOnePass[0]" identifier = (cast_expression "(WhereInfo *)pWVar42->aiCurOnePass[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pWVar42->aiCurOnePass[0]" (field_expression "pWVar42->aiCurOnePass" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c609c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c60a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }\n      uVar11 = (undefined4)(BVar64 >> 0x20);\n      uVar14 = (undefined4)uVar62;\n      pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);\n      psVar50 = (sqlite3 *)uVar60;\n      if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }\nLAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n      jumpIfNull = (int)uVar62;\n      uVar60 = CONCAT44(pWStack_1a4,psVar50);\n      BVar61 = BVar64;\n      if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }\n    }" { (if_statement "if ((uVar32 == 0x9c) || (uVar32 - 0x33 < 2)) {\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }" if (parenthesized_expression "((uVar32 == 0x9c) || (uVar32 - 0x33 < 2))" ( (binary_expression "(uVar32 == 0x9c) || (uVar32 - 0x33 < 2)" (parenthesized_expression "(uVar32 == 0x9c)" ( (binary_expression "uVar32 == 0x9c" identifier == number_literal) )) || (parenthesized_expression "(uVar32 - 0x33 < 2)" ( (binary_expression "uVar32 - 0x33 < 2" (binary_expression "uVar32 - 0x33" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        pWVar49 = (WhereInfo *)pWVar56->pResultSet;\n        pWVar29 = (WhereInfo *)pWVar56->pWhere;\n        if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }\n        pWVar44 = pWVar29;\n        if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }\n        if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);\n        iVar7 = *(int *)(puVar57 + 0x96c78);\n        pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pWVar29 = pWVar49;\n        pWVar42 = pWVar44;\n        uVar21 = uVar21 - 1;\n        if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;\nLAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);\n        jumpIfNull = (int)uVar62;\n        BVar61 = BVar64;\n        if (cVar19 != ',') goto LAB_000c4d88;\n        uVar32 = (uint)*(byte *)&pWVar56->pParse;\n      }" { (expression_statement "pWVar49 = (WhereInfo *)pWVar56->pResultSet;" (assignment_expression "pWVar49 = (WhereInfo *)pWVar56->pResultSet" identifier = (cast_expression "(WhereInfo *)pWVar56->pResultSet" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (expression_statement "pWVar29 = (WhereInfo *)pWVar56->pWhere;" (assignment_expression "pWVar29 = (WhereInfo *)pWVar56->pWhere" identifier = (cast_expression "(WhereInfo *)pWVar56->pWhere" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pWhere" identifier -> field_identifier))) ;) (if_statement "if (*(byte *)&pWVar49->pParse == 0x9e) {\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }\n        else {\n          uVar21 = 0;\n        }" if (parenthesized_expression "(*(byte *)&pWVar49->pParse == 0x9e)" ( (binary_expression "*(byte *)&pWVar49->pParse == 0x9e" (pointer_expression "*(byte *)&pWVar49->pParse" * (cast_expression "(byte *)&pWVar49->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->pParse" & (field_expression "pWVar49->pParse" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n          uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );\n        }" { (expression_statement "uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         );" (assignment_expression "uVar21 = (uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         )" identifier = (call_expression "(uint)(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0\n                         )" ( (binary_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg != 0" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab->nModuleArg" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)->pTab" (parenthesized_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted)" ( (cast_expression "(anon_union_8_3_c79b3df9_for_y *)&pWVar49->sorted" ( (type_descriptor "anon_union_8_3_c79b3df9_for_y *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar49->sorted" & (field_expression "pWVar49->sorted" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) != number_literal) )))) ;) }) (else_clause "else {\n          uVar21 = 0;\n        }" else (compound_statement "{\n          uVar21 = 0;\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }))) (expression_statement "pWVar44 = pWVar29;" (assignment_expression "pWVar44 = pWVar29" identifier = identifier) ;) (if_statement "if (((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)) {\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }" if (parenthesized_expression "(((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0))" ( (binary_expression "((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)) &&\n           (((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)" (parenthesized_expression "((pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e))" ( (binary_expression "(pWVar29 != (WhereInfo *)0x0) && (*(byte *)&pWVar29->pParse == 0x9e)" (parenthesized_expression "(pWVar29 != (WhereInfo *)0x0)" ( (binary_expression "pWVar29 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(byte *)&pWVar29->pParse == 0x9e)" ( (binary_expression "*(byte *)&pWVar29->pParse == 0x9e" (pointer_expression "*(byte *)&pWVar29->pParse" * (cast_expression "(byte *)&pWVar29->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar29->pParse" & (field_expression "pWVar29->pParse" identifier -> field_identifier)))) == number_literal) ))) )) && (parenthesized_expression "(((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0)" ( (binary_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg != 0" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab->nModuleArg" (field_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)->pTab" (parenthesized_expression "((anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted)" ( (cast_expression "(anon_union_8_3_c79b3df9_for_y *)&pWVar29->sorted" ( (type_descriptor "anon_union_8_3_c79b3df9_for_y *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar29->sorted" & (field_expression "pWVar29->sorted" identifier -> field_identifier))) )) -> field_identifier) -> field_identifier) != number_literal) ))) )) (compound_statement "{\n          uVar21 = uVar21 + 1;\n          pWVar44 = pWVar49;\n          pWVar49 = pWVar29;\n        }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "pWVar44 = pWVar49;" (assignment_expression "pWVar44 = pWVar49" identifier = identifier) ;) (expression_statement "pWVar49 = pWVar29;" (assignment_expression "pWVar49 = pWVar29" identifier = identifier) ;) })) (if_statement "if (uVar32 == 0x34) {\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }\n        else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar32 == 0x34)" ( (binary_expression "uVar32 == 0x34" identifier == number_literal) )) (compound_statement "{\n          pWStack_18c = (WhereInfo *)&DAT_00000044;\n        }" { (expression_statement "pWStack_18c = (WhereInfo *)&DAT_00000044;" (assignment_expression "pWStack_18c = (WhereInfo *)&DAT_00000044" identifier = (cast_expression "(WhereInfo *)&DAT_00000044" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000044" & identifier))) ;) }) (else_clause "else if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }" else (if_statement "if (uVar32 == 0x9c) {\n          pWStack_18c = (WhereInfo *)0x45;\n        }\n        else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar32 == 0x9c)" ( (binary_expression "uVar32 == 0x9c" identifier == number_literal) )) (compound_statement "{\n          pWStack_18c = (WhereInfo *)0x45;\n        }" { (expression_statement "pWStack_18c = (WhereInfo *)0x45;" (assignment_expression "pWStack_18c = (WhereInfo *)0x45" identifier = (cast_expression "(WhereInfo *)0x45" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }" else (compound_statement "{\n          pWStack_18c = (WhereInfo *)0x46;\n          if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }\n        }" { (expression_statement "pWStack_18c = (WhereInfo *)0x46;" (assignment_expression "pWStack_18c = (WhereInfo *)0x46" identifier = (cast_expression "(WhereInfo *)0x46" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar32 != 0x33) {\n            pWStack_18c = (WhereInfo *)0x0;\n          }" if (parenthesized_expression "(uVar32 != 0x33)" ( (binary_expression "uVar32 != 0x33" identifier != number_literal) )) (compound_statement "{\n            pWStack_18c = (WhereInfo *)0x0;\n          }" { (expression_statement "pWStack_18c = (WhereInfo *)0x0;" (assignment_expression "pWStack_18c = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))))) (labeled_statement "LAB_000c5c84:\n        pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);" statement_identifier : (expression_statement "pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38);" (assignment_expression "pWStack_188 = *(WhereInfo **)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(WhereInfo **)(puVar57 + 0x96c38)" * (cast_expression "(WhereInfo **)(puVar57 + 0x96c38)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;)) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c78);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);" (assignment_expression "pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000c5d04:\n        pWVar29 = pWVar49;" statement_identifier : (expression_statement "pWVar29 = pWVar49;" (assignment_expression "pWVar29 = pWVar49" identifier = identifier) ;)) (expression_statement "pWVar42 = pWVar44;" (assignment_expression "pWVar42 = pWVar44" identifier = identifier) ;) (expression_statement "uVar21 = uVar21 - 1;" (assignment_expression "uVar21 = uVar21 - 1" identifier = (binary_expression "uVar21 - 1" identifier - number_literal)) ;) (if_statement "if (uVar21 != 0xffffffff) {\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }" if (parenthesized_expression "(uVar21 != 0xffffffff)" ( (binary_expression "uVar21 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          pWVar44 = pWVar29;\n          pWVar49 = pWVar42;\n          if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;\n          if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }\n          pWVar34 = (WhereInfo *)0x0;\n          uVar62 = 0;\n          goto LAB_000c5d38;\n        }" { (expression_statement "pWVar44 = pWVar29;" (assignment_expression "pWVar44 = pWVar29" identifier = identifier) ;) (expression_statement "pWVar49 = pWVar42;" (assignment_expression "pWVar49 = pWVar42" identifier = identifier) ;) (if_statement "if (pWVar42 != (WhereInfo *)0x0) goto LAB_000c5cbc;" if (parenthesized_expression "(pWVar42 != (WhereInfo *)0x0)" ( (binary_expression "pWVar42 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5cbc;" goto statement_identifier ;)) (if_statement "if (pWVar29 != (WhereInfo *)0x0) {\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }" if (parenthesized_expression "(pWVar29 != (WhereInfo *)0x0)" ( (binary_expression "pWVar29 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcStack_1b0)(pWStack_1b8,pWVar29);\n          }" { (expression_statement "(*pcStack_1b0)(pWStack_1b8,pWVar29);" (call_expression "(*pcStack_1b0)(pWStack_1b8,pWVar29)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pWStack_1b8,pWVar29)" ( identifier , identifier ))) ;) })) (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar62 = 0;" (assignment_expression "uVar62 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5d38;" goto statement_identifier ;) })) (expression_statement "uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff);" (assignment_expression "uVar60 = CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff)" identifier = (call_expression "CONCAT44((code *)(iVar7 + 0x26b4),0xffffffff)" identifier (argument_list "((code *)(iVar7 + 0x26b4),0xffffffff)" ( (cast_expression "(code *)(iVar7 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26b4)" ( (binary_expression "iVar7 + 0x26b4" identifier + number_literal) ))) , number_literal )))) ;) (labeled_statement "LAB_000c609c:\n        cVar19 = *(char *)&pWC->pOrderBy;" statement_identifier : (expression_statement "cVar19 = *(char *)&pWC->pOrderBy;" (assignment_expression "cVar19 = *(char *)&pWC->pOrderBy" identifier = (pointer_expression "*(char *)&pWC->pOrderBy" * (cast_expression "(char *)&pWC->pOrderBy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier))))) ;)) (labeled_statement "LAB_000c60a0:\n        psVar53 = (sqlite3 *)(uVar62 >> 0x20);" statement_identifier : (expression_statement "psVar53 = (sqlite3 *)(uVar62 >> 0x20);" (assignment_expression "psVar53 = (sqlite3 *)(uVar62 >> 0x20)" identifier = (cast_expression "(sqlite3 *)(uVar62 >> 0x20)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar62 >> 0x20)" ( (binary_expression "uVar62 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "jumpIfNull = (int)uVar62;" (assignment_expression "jumpIfNull = (int)uVar62" identifier = (cast_expression "(int)uVar62" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (cVar19 != ',') goto LAB_000c4d88;" if (parenthesized_expression "(cVar19 != ',')" ( (binary_expression "cVar19 != ','" identifier != (char_literal "','" ' character ')) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar32 = (uint)*(byte *)&pWVar56->pParse;" (assignment_expression "uVar32 = (uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(uint)*(byte *)&pWVar56->pParse" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) })) (expression_statement "uVar11 = (undefined4)(BVar64 >> 0x20);" (assignment_expression "uVar11 = (undefined4)(BVar64 >> 0x20)" identifier = (call_expression "(undefined4)(BVar64 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(BVar64 >> 0x20)" ( (binary_expression "BVar64 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar14 = (undefined4)uVar62;" (assignment_expression "uVar14 = (undefined4)uVar62" identifier = (cast_expression "(undefined4)uVar62" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" (assignment_expression "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20)" identifier = (cast_expression "(WhereInfo *)((ulonglong)uVar60 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar60 >> 0x20)" ( (binary_expression "(ulonglong)uVar60 >> 0x20" (cast_expression "(ulonglong)uVar60" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar50 = (sqlite3 *)uVar60;" (assignment_expression "psVar50 = (sqlite3 *)uVar60" identifier = (cast_expression "(sqlite3 *)uVar60" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((uVar32 == 0x35) || (uVar32 == 0x2d)) {\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }" if (parenthesized_expression "((uVar32 == 0x35) || (uVar32 == 0x2d))" ( (binary_expression "(uVar32 == 0x35) || (uVar32 == 0x2d)" (parenthesized_expression "(uVar32 == 0x35)" ( (binary_expression "uVar32 == 0x35" identifier == number_literal) )) || (parenthesized_expression "(uVar32 == 0x2d)" ( (binary_expression "uVar32 == 0x2d" identifier == number_literal) ))) )) (compound_statement "{\n        pEVar46 = (Expr *)pWVar56->pResultSet;\n        uVar20 = pEVar46->op;\n        if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }\n        if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }\n        uVar62 = CONCAT44(psVar53,uVar14);\n        if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }\n      }" { (expression_statement "pEVar46 = (Expr *)pWVar56->pResultSet;" (assignment_expression "pEVar46 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (expression_statement "uVar20 = pEVar46->op;" (assignment_expression "uVar20 = pEVar46->op" identifier = (field_expression "pEVar46->op" identifier -> field_identifier)) ;) (if_statement "if (uVar20 == 0xa4) {\n          uVar20 = pEVar46->op2;\n        }" if (parenthesized_expression "(uVar20 == 0xa4)" ( (binary_expression "uVar20 == 0xa4" identifier == number_literal) )) (compound_statement "{\n          uVar20 = pEVar46->op2;\n        }" { (expression_statement "uVar20 = pEVar46->op2;" (assignment_expression "uVar20 = pEVar46->op2" identifier = (field_expression "pEVar46->op2" identifier -> field_identifier)) ;) })) (if_statement "if (uVar20 == 0xa5) {\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }\n        else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }" if (parenthesized_expression "(uVar20 == 0xa5)" ( (binary_expression "uVar20 == 0xa5" identifier == number_literal) )) (compound_statement "{\n          psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;\n        }" { (expression_statement "psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr;" (assignment_expression "psVar53 = (sqlite3 *)((pEVar46->x).pList)->nExpr" identifier = (cast_expression "(sqlite3 *)((pEVar46->x).pList)->nExpr" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pEVar46->x).pList)->nExpr" (parenthesized_expression "((pEVar46->x).pList)" ( (field_expression "(pEVar46->x).pList" (parenthesized_expression "(pEVar46->x)" ( (field_expression "pEVar46->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) }) (else_clause "else {\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }" else (compound_statement "{\n          if (uVar20 != '\x7f') goto LAB_000c55f8;\n          psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;\n        }" { (if_statement "if (uVar20 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(uVar20 != '\x7f')" ( (binary_expression "uVar20 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr;" (assignment_expression "psVar53 = (sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr" identifier = (cast_expression "(sqlite3 *)((pEVar46->x).pSelect)->pEList->nExpr" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pEVar46->x).pSelect)->pEList->nExpr" (field_expression "((pEVar46->x).pSelect)->pEList" (parenthesized_expression "((pEVar46->x).pSelect)" ( (field_expression "(pEVar46->x).pSelect" (parenthesized_expression "(pEVar46->x)" ( (field_expression "pEVar46->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier))) ;) }))) (expression_statement "uVar62 = CONCAT44(psVar53,uVar14);" (assignment_expression "uVar62 = CONCAT44(psVar53,uVar14)" identifier = (call_expression "CONCAT44(psVar53,uVar14)" identifier (argument_list "(psVar53,uVar14)" ( identifier , identifier )))) ;) (if_statement "if (1 < (int)psVar53) {\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }" if (parenthesized_expression "(1 < (int)psVar53)" ( (binary_expression "1 < (int)psVar53" number_literal < (cast_expression "(int)psVar53" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pEVar23 = pWVar56->pWhere;\n          uVar20 = pEVar23->op;\n          if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }\n          if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }\n          uVar62 = CONCAT44(psVar53,uVar14);\n          if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }\n        }" { (expression_statement "pEVar23 = pWVar56->pWhere;" (assignment_expression "pEVar23 = pWVar56->pWhere" identifier = (field_expression "pWVar56->pWhere" identifier -> field_identifier)) ;) (expression_statement "uVar20 = pEVar23->op;" (assignment_expression "uVar20 = pEVar23->op" identifier = (field_expression "pEVar23->op" identifier -> field_identifier)) ;) (if_statement "if (uVar20 == 0xa4) {\n            uVar20 = pEVar23->op2;\n          }" if (parenthesized_expression "(uVar20 == 0xa4)" ( (binary_expression "uVar20 == 0xa4" identifier == number_literal) )) (compound_statement "{\n            uVar20 = pEVar23->op2;\n          }" { (expression_statement "uVar20 = pEVar23->op2;" (assignment_expression "uVar20 = pEVar23->op2" identifier = (field_expression "pEVar23->op2" identifier -> field_identifier)) ;) })) (if_statement "if (uVar20 == 0xa5) {\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }\n          else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }" if (parenthesized_expression "(uVar20 == 0xa5)" ( (binary_expression "uVar20 == 0xa5" identifier == number_literal) )) (compound_statement "{\n            psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;\n          }" { (expression_statement "psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr;" (assignment_expression "psVar13 = (sqlite3 *)((pEVar23->x).pList)->nExpr" identifier = (cast_expression "(sqlite3 *)((pEVar23->x).pList)->nExpr" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pEVar23->x).pList)->nExpr" (parenthesized_expression "((pEVar23->x).pList)" ( (field_expression "(pEVar23->x).pList" (parenthesized_expression "(pEVar23->x)" ( (field_expression "pEVar23->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) }) (else_clause "else {\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }" else (compound_statement "{\n            uVar62 = CONCAT44(psVar53,uVar14);\n            if (uVar20 != '\x7f') goto LAB_000c55f8;\n            psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;\n          }" { (expression_statement "uVar62 = CONCAT44(psVar53,uVar14);" (assignment_expression "uVar62 = CONCAT44(psVar53,uVar14)" identifier = (call_expression "CONCAT44(psVar53,uVar14)" identifier (argument_list "(psVar53,uVar14)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(uVar20 != '\x7f')" ( (binary_expression "uVar20 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr;" (assignment_expression "psVar13 = (sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr" identifier = (cast_expression "(sqlite3 *)((pEVar23->x).pSelect)->pEList->nExpr" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((pEVar23->x).pSelect)->pEList->nExpr" (field_expression "((pEVar23->x).pSelect)->pEList" (parenthesized_expression "((pEVar23->x).pSelect)" ( (field_expression "(pEVar23->x).pSelect" (parenthesized_expression "(pEVar23->x)" ( (field_expression "pEVar23->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier))) ;) }))) (expression_statement "uVar62 = CONCAT44(psVar53,uVar14);" (assignment_expression "uVar62 = CONCAT44(psVar53,uVar14)" identifier = (call_expression "CONCAT44(psVar53,uVar14)" identifier (argument_list "(psVar53,uVar14)" ( identifier , identifier )))) ;) (if_statement "if ((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))) {\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }" if (parenthesized_expression "((psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0))))" ( (binary_expression "(psVar53 == psVar13) &&\n             (((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))" (parenthesized_expression "(psVar53 == psVar13)" ( (binary_expression "psVar53 == psVar13" identifier == identifier) )) && (parenthesized_expression "(((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)))" ( (parenthesized_expression "((pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0))" ( (binary_expression "(pEVar46->flags & 0x800) == 0 ||\n              (uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)" (binary_expression "(pEVar46->flags & 0x800) == 0" (parenthesized_expression "(pEVar46->flags & 0x800)" ( (binary_expression "pEVar46->flags & 0x800" (field_expression "pEVar46->flags" identifier -> field_identifier) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0)" ( (comma_expression "uVar62 = CONCAT44(psVar53,uVar14), (pEVar23->flags & 0x800) == 0" (assignment_expression "uVar62 = CONCAT44(psVar53,uVar14)" identifier = (call_expression "CONCAT44(psVar53,uVar14)" identifier (argument_list "(psVar53,uVar14)" ( identifier , identifier )))) , (binary_expression "(pEVar23->flags & 0x800) == 0" (parenthesized_expression "(pEVar23->flags & 0x800)" ( (binary_expression "pEVar23->flags & 0x800" (field_expression "pEVar23->flags" identifier -> field_identifier) & number_literal) )) == number_literal)) ))) )) ))) )) (compound_statement "{\n            psVar50 = (sqlite3 *)0x0;\n            iVar7 = *(int *)(puVar57 + 0x96c78);\n            iVar45 = *(int *)(puVar57 + 0x96c78);\n            pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n            pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }\n            BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);\n            pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n            uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);\n            *(u16 *)&pWVar52->pResultSet = 0;\n            *(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;\n            jumpIfNull = (int)pParse_00;\n            BVar61 = BVar64;\n            if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;\n            uVar32 = (uint)*(byte *)&pWVar56->pParse;\n            uVar62 = CONCAT44(psVar53,pParse_00);\n          }" { (expression_statement "psVar50 = (sqlite3 *)0x0;" (assignment_expression "psVar50 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *(int *)(puVar57 + 0x96c78);" (assignment_expression "iVar7 = *(int *)(puVar57 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar45 = *(int *)(puVar57 + 0x96c78);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);" (assignment_expression "pWStack_190 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar57 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);" (assignment_expression "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);\n              pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;\n              iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);\n              if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }\n              uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);\n              psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);\n              uVar60 = CONCAT44(pWStack_1a4,psVar50);\n              (*(code *)pWStack_190)(pPVar28,pWC,uVar14);\n              if (psVar50 == psVar53) break;\n              pEVar46 = (Expr *)pWVar56->pResultSet;\n            }" { (expression_statement "uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50);" (assignment_expression "uVar14 = (*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50)" identifier = (call_expression "(*(code *)(iVar45 + 0x294c))(pParse_00,pEVar46,psVar50)" (parenthesized_expression "(*(code *)(iVar45 + 0x294c))" ( (pointer_expression "*(code *)(iVar45 + 0x294c)" * (cast_expression "(code *)(iVar45 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x294c)" ( (binary_expression "iVar45 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pParse_00,pEVar46,psVar50)" ( identifier , identifier , identifier )))) ;) (expression_statement "pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)\n              ;" (assignment_expression "pWVar34 = (WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)" identifier = (cast_expression "(WhereInfo *)(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar45 + 0x294c))(pParse_00,pWVar56->pWhere,psVar50)" (parenthesized_expression "(*(code *)(iVar45 + 0x294c))" ( (pointer_expression "*(code *)(iVar45 + 0x294c)" * (cast_expression "(code *)(iVar45 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x294c)" ( (binary_expression "iVar45 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pParse_00,pWVar56->pWhere,psVar50)" ( identifier , (field_expression "pWVar56->pWhere" identifier -> field_identifier) , identifier ))))) ;) (expression_statement "iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14);" (assignment_expression "iVar33 = (*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14)" identifier = (call_expression "(*(code *)(iVar7 + 0x26b4))(pParse_00,*(byte *)&pWVar56->pParse,uVar14)" (parenthesized_expression "(*(code *)(iVar7 + 0x26b4))" ( (pointer_expression "*(code *)(iVar7 + 0x26b4)" * (cast_expression "(code *)(iVar7 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26b4)" ( (binary_expression "iVar7 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pParse_00,*(byte *)&pWVar56->pParse,uVar14)" ( identifier , (pointer_expression "*(byte *)&pWVar56->pParse" * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier)))) , identifier )))) ;) (if_statement "if (iVar33 != 0) {\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }" if (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;\n                *(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);\n              }" { (expression_statement "*(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1;" (assignment_expression "*(uint *)(iVar33 + 4) = *(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar33 + 4)" * (cast_expression "(uint *)(iVar33 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 4)" ( (binary_expression "iVar33 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar33 + 4) | (uint)pWVar56->pTabList & 1" (pointer_expression "*(uint *)(iVar33 + 4)" * (cast_expression "(uint *)(iVar33 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 4)" ( (binary_expression "iVar33 + 4" identifier + number_literal) )))) | (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal))) ;) (expression_statement "*(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2);" (assignment_expression "*(i16 *)(iVar33 + 0x26) = *(i16 *)((int)&pWVar56->iBreak + 2)" (pointer_expression "*(i16 *)(iVar33 + 0x26)" * (cast_expression "(i16 *)(iVar33 + 0x26)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x26)" ( (binary_expression "iVar33 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(i16 *)((int)&pWVar56->iBreak + 2)" * (cast_expression "(i16 *)((int)&pWVar56->iBreak + 2)" ( (type_descriptor "i16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar56->iBreak + 2)" ( (binary_expression "(int)&pWVar56->iBreak + 2" (cast_expression "(int)&pWVar56->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar56->iBreak" & (field_expression "pWVar56->iBreak" identifier -> field_identifier))) + number_literal) ))))) ;) })) (expression_statement "uVar14 = (*(code *)pWVar42)(pWC,iVar33,1);" (assignment_expression "uVar14 = (*(code *)pWVar42)(pWC,iVar33,1)" identifier = (call_expression "(*(code *)pWVar42)(pWC,iVar33,1)" (parenthesized_expression "(*(code *)pWVar42)" ( (pointer_expression "*(code *)pWVar42" * (cast_expression "(code *)pWVar42" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pWC,iVar33,1)" ( identifier , identifier , number_literal )))) ;) (expression_statement "psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1);" (assignment_expression "psVar50 = (sqlite3 *)((int)&psVar50->pVfs + 1)" identifier = (cast_expression "(sqlite3 *)((int)&psVar50->pVfs + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar50->pVfs + 1)" ( (binary_expression "(int)&psVar50->pVfs + 1" (cast_expression "(int)&psVar50->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar50->pVfs" & (field_expression "psVar50->pVfs" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,psVar50);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,psVar50)" identifier = (call_expression "CONCAT44(pWStack_1a4,psVar50)" identifier (argument_list "(pWStack_1a4,psVar50)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)pWStack_190)(pPVar28,pWC,uVar14);" (call_expression "(*(code *)pWStack_190)(pPVar28,pWC,uVar14)" (parenthesized_expression "(*(code *)pWStack_190)" ( (pointer_expression "*(code *)pWStack_190" * (cast_expression "(code *)pWStack_190" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar28,pWC,uVar14)" ( identifier , identifier , identifier ))) ;) (if_statement "if (psVar50 == psVar53) break;" if (parenthesized_expression "(psVar50 == psVar53)" ( (binary_expression "psVar50 == psVar53" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pEVar46 = (Expr *)pWVar56->pResultSet;" (assignment_expression "pEVar46 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) })) (expression_statement "BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit);" (assignment_expression "BVar64 = CONCAT44(uVar11,*(int *)&pWC->iLimit)" identifier = (call_expression "CONCAT44(uVar11,*(int *)&pWC->iLimit)" identifier (argument_list "(uVar11,*(int *)&pWC->iLimit)" ( identifier , (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )))) ;) (expression_statement "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);" (assignment_expression "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (binary_expression "(int)&pWStack_19c->pParse + *(int *)&pWC->iLimit" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) )))) ;) (expression_statement "uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2);" (assignment_expression "uVar26 = *(u16 *)((int)&pWVar52->pOrderBy + 2)" identifier = (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(u16 *)&pWVar52->pResultSet = 0;" (assignment_expression "*(u16 *)&pWVar52->pResultSet = 0" (pointer_expression "*(u16 *)&pWVar52->pResultSet" * (cast_expression "(u16 *)&pWVar52->pResultSet" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->pResultSet" & (field_expression "pWVar52->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6;" (assignment_expression "*(ushort *)((int)&pWVar52->pOrderBy + 2) = uVar26 | 6" (pointer_expression "*(ushort *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "uVar26 | 6" identifier | number_literal)) ;) (expression_statement "jumpIfNull = (int)pParse_00;" (assignment_expression "jumpIfNull = (int)pParse_00" identifier = (cast_expression "(int)pParse_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (*(char *)&pWC->pOrderBy != ',') goto LAB_000c4d88;" if (parenthesized_expression "(*(char *)&pWC->pOrderBy != ',')" ( (binary_expression "*(char *)&pWC->pOrderBy != ','" (pointer_expression "*(char *)&pWC->pOrderBy" * (cast_expression "(char *)&pWC->pOrderBy" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier)))) != (char_literal "','" ' character ')) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar32 = (uint)*(byte *)&pWVar56->pParse;" (assignment_expression "uVar32 = (uint)*(byte *)&pWVar56->pParse" identifier = (binary_expression "(uint)*(byte *)&pWVar56->pParse" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pWVar56->pParse" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->pParse" & (field_expression "pWVar56->pParse" identifier -> field_identifier))))) ;) (expression_statement "uVar62 = CONCAT44(psVar53,pParse_00);" (assignment_expression "uVar62 = CONCAT44(psVar53,pParse_00)" identifier = (call_expression "CONCAT44(psVar53,pParse_00)" identifier (argument_list "(psVar53,pParse_00)" ( identifier , identifier )))) ;) })) })) })) (labeled_statement "LAB_000c55f8:\n      psVar53 = (sqlite3 *)(uVar62 >> 0x20);" statement_identifier : (expression_statement "psVar53 = (sqlite3 *)(uVar62 >> 0x20);" (assignment_expression "psVar53 = (sqlite3 *)(uVar62 >> 0x20)" identifier = (cast_expression "(sqlite3 *)(uVar62 >> 0x20)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar62 >> 0x20)" ( (binary_expression "uVar62 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "jumpIfNull = (int)uVar62;" (assignment_expression "jumpIfNull = (int)uVar62" identifier = (cast_expression "(int)uVar62" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,psVar50);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,psVar50)" identifier = (call_expression "CONCAT44(pWStack_1a4,psVar50)" identifier (argument_list "(pWStack_1a4,psVar50)" ( identifier , identifier )))) ;) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (uVar32 == 0x31) {\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar32 == 0x31)" ( (binary_expression "uVar32 == 0x31" identifier == number_literal) )) (compound_statement "{\n        iVar7 = pWVar52->aiCurOnePass[0];\n        uVar60 = CONCAT44(pWStack_1a4,iVar7);\n        if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }\n      }" { (expression_statement "iVar7 = pWVar52->aiCurOnePass[0];" (assignment_expression "iVar7 = pWVar52->aiCurOnePass[0]" identifier = (subscript_expression "pWVar52->aiCurOnePass[0]" (field_expression "pWVar52->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar60 = CONCAT44(pWStack_1a4,iVar7);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar7)" identifier (argument_list "(pWStack_1a4,iVar7)" ( identifier , identifier )))) ;) (if_statement "if (((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))\n        {\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }" if (parenthesized_expression "(((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0))" ( (binary_expression "((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)) &&\n           (iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0)" (parenthesized_expression "((iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5))" ( (binary_expression "(iVar7 == 0) &&\n            (pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5)" ( (comma_expression "pEVar46 = (Expr *)pWVar56->pResultSet, uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5" (assignment_expression "pEVar46 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) , (comma_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7),\n            pEVar46->op == 0xa5" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar7)" identifier (argument_list "(pWStack_1a4,iVar7)" ( identifier , identifier )))) , (binary_expression "pEVar46->op == 0xa5" (field_expression "pEVar46->op" identifier -> field_identifier) == number_literal))) ))) )) && (parenthesized_expression "(iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0)" ( (comma_expression "iVar45 = *(int *)(puVar57 + 0x96c38), uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) , (comma_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7),\n           ((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar7)" identifier (argument_list "(pWStack_1a4,iVar7)" ( identifier , identifier )))) , (binary_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr == (Expr *)0x0" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0].pExpr" (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a[0]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2].a" (subscript_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList[2]" (field_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)->pList" (parenthesized_expression "((anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit)" ( (cast_expression "(anon_union_4_2_a01b6dbf_for_x *)&pWVar56->iLimit" ( (type_descriptor "anon_union_4_2_a01b6dbf_for_x *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar56->iLimit" & (field_expression "pWVar56->iLimit" identifier -> field_identifier))) )) -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) == (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n          psVar53 = (sqlite3 *)0xa5;\n          pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);\n          uVar20 = 0xa5;\n          iVar7 = 0;\n          while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }\n        }" { (expression_statement "psVar53 = (sqlite3 *)0xa5;" (assignment_expression "psVar53 = (sqlite3 *)0xa5" identifier = (cast_expression "(sqlite3 *)0xa5" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8);" (assignment_expression "pWVar42 = (WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar57 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar57 + 0x96dac)" * (cast_expression "(int *)(puVar57 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar20 = 0xa5;" (assignment_expression "uVar20 = 0xa5" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar60 = CONCAT44(pWStack_1a4,iVar7);\n            if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }\n            jumpIfNull = (int)pWStack_19c;\n            BVar61 = BVar64;\n            if (iVar33 <= iVar7) break;\n            iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);\n            iVar7 = iVar7 + 1;\n            pWVar52 = (WhereInfo *)(iVar33 * 0x30);\n            *(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;\n            exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);\n            *(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;\n            *(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n            *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n            pEVar46 = (Expr *)pWVar56->pResultSet;\n            uVar20 = pEVar46->op;\n            if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }\n          }" { (expression_statement "uVar60 = CONCAT44(pWStack_1a4,iVar7);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,iVar7)" identifier = (call_expression "CONCAT44(pWStack_1a4,iVar7)" identifier (argument_list "(pWStack_1a4,iVar7)" ( identifier , identifier )))) ;) (if_statement "if (uVar20 == 0xa5) {\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }\n            else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }" if (parenthesized_expression "(uVar20 == 0xa5)" ( (binary_expression "uVar20 == 0xa5" identifier == number_literal) )) (compound_statement "{\n              iVar33 = ((pEVar46->x).pList)->nExpr;\n            }" { (expression_statement "iVar33 = ((pEVar46->x).pList)->nExpr;" (assignment_expression "iVar33 = ((pEVar46->x).pList)->nExpr" identifier = (field_expression "((pEVar46->x).pList)->nExpr" (parenthesized_expression "((pEVar46->x).pList)" ( (field_expression "(pEVar46->x).pList" (parenthesized_expression "(pEVar46->x)" ( (field_expression "pEVar46->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier)) ;) }) (else_clause "else if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }" else (if_statement "if (uVar20 == '\x7f') {\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }\n            else {\n              iVar33 = 1;\n            }" if (parenthesized_expression "(uVar20 == '\x7f')" ( (binary_expression "uVar20 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n              iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;\n            }" { (expression_statement "iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr;" (assignment_expression "iVar33 = ((pEVar46->x).pSelect)->pEList->nExpr" identifier = (field_expression "((pEVar46->x).pSelect)->pEList->nExpr" (field_expression "((pEVar46->x).pSelect)->pEList" (parenthesized_expression "((pEVar46->x).pSelect)" ( (field_expression "(pEVar46->x).pSelect" (parenthesized_expression "(pEVar46->x)" ( (field_expression "pEVar46->x" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) -> field_identifier)) ;) }) (else_clause "else {\n              iVar33 = 1;\n            }" else (compound_statement "{\n              iVar33 = 1;\n            }" { (expression_statement "iVar33 = 1;" (assignment_expression "iVar33 = 1" identifier = number_literal) ;) }))))) (expression_statement "jumpIfNull = (int)pWStack_19c;" (assignment_expression "jumpIfNull = (int)pWStack_19c" identifier = (cast_expression "(int)pWStack_19c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if (iVar33 <= iVar7) break;" if (parenthesized_expression "(iVar33 <= iVar7)" ( (binary_expression "iVar33 <= iVar7" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2);" (assignment_expression "iVar33 = (*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2)" identifier = (call_expression "(*(code *)(iVar45 + -0x73f4))(pWC,pWVar56,2)" (parenthesized_expression "(*(code *)(iVar45 + -0x73f4))" ( (pointer_expression "*(code *)(iVar45 + -0x73f4)" * (cast_expression "(code *)(iVar45 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x73f4)" ( (binary_expression "iVar45 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pWC,pWVar56,2)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "pWVar52 = (WhereInfo *)(iVar33 * 0x30);" (assignment_expression "pWVar52 = (WhereInfo *)(iVar33 * 0x30)" identifier = (cast_expression "(WhereInfo *)(iVar33 * 0x30)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 * 0x30)" ( (binary_expression "iVar33 * 0x30" identifier * number_literal) )))) ;) (expression_statement "*(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7;" (assignment_expression "*(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18) = iVar7" (pointer_expression "*(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18)" * (cast_expression "(int *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18)" ( (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x18" (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar33 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33);" (call_expression "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar33)" identifier (argument_list "((SrcList *)pPVar28,(WhereClause *)pWC,iVar33)" ( (cast_expression "(SrcList *)pPVar28" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(WhereClause *)pWC" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "*(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120;" (assignment_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10) = pEStack_120" (pointer_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10)" * (cast_expression "(Expr **)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10)" ( (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30 + 0x10" (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar33 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);" (assignment_expression "*(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8) =\n                 *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" (pointer_expression "*(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar33 * 0x30 + 8)" ( (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30 + 8" (binary_expression "*(int *)&pWC->iLimit + iVar33 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar33 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" * (cast_expression "(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) ))))) ;) (expression_statement "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';" (assignment_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n                 *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) = (binary_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "pEVar46 = (Expr *)pWVar56->pResultSet;" (assignment_expression "pEVar46 = (Expr *)pWVar56->pResultSet" identifier = (cast_expression "(Expr *)pWVar56->pResultSet" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar56->pResultSet" identifier -> field_identifier))) ;) (expression_statement "uVar20 = pEVar46->op;" (assignment_expression "uVar20 = pEVar46->op" identifier = (field_expression "pEVar46->op" identifier -> field_identifier)) ;) (if_statement "if (uVar20 == 0xa4) {\n              uVar20 = pEVar46->op2;\n            }" if (parenthesized_expression "(uVar20 == 0xa4)" ( (binary_expression "uVar20 == 0xa4" identifier == number_literal) )) (compound_statement "{\n              uVar20 = pEVar46->op2;\n            }" { (expression_statement "uVar20 = pEVar46->op2;" (assignment_expression "uVar20 = pEVar46->op2" identifier = (field_expression "pEVar46->op2" identifier -> field_identifier)) ;) })) })) })) })) }))) })) (labeled_statement "LAB_000c4d88:\n  pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" statement_identifier : (expression_statement "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20);" (assignment_expression "pWStack_1a4 = (WhereInfo *)((ulonglong)uVar60 >> 0x20)" identifier = (cast_expression "(WhereInfo *)((ulonglong)uVar60 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar60 >> 0x20)" ( (binary_expression "(ulonglong)uVar60 >> 0x20" (cast_expression "(ulonglong)uVar60" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pWVar49 = (WhereInfo *)uVar60;" (assignment_expression "pWVar49 = (WhereInfo *)uVar60" identifier = (cast_expression "(WhereInfo *)uVar60" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr;" (assignment_expression "ppEVar3 = &(*(WhereTerm **)&pWC->iLimit)->pExpr" identifier = (pointer_expression "&(*(WhereTerm **)&pWC->iLimit)->pExpr" & (field_expression "(*(WhereTerm **)&pWC->iLimit)->pExpr" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) -> field_identifier))) ;) (expression_statement "*(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198;" (assignment_expression "*(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198" (pointer_expression "*(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3)" * (cast_expression "(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->iContinue + (int)ppEVar3)" ( (binary_expression "(int)&pWStack_19c->iContinue + (int)ppEVar3" (cast_expression "(int)&pWStack_19c->iContinue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->iContinue" & (field_expression "pWStack_19c->iContinue" identifier -> field_identifier))) + (cast_expression "(int)ppEVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (binary_expression "*(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3) | uStack_198" (pointer_expression "*(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3)" * (cast_expression "(uint *)((int)&pWStack_19c->iContinue + (int)ppEVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->iContinue + (int)ppEVar3)" ( (binary_expression "(int)&pWStack_19c->iContinue + (int)ppEVar3" (cast_expression "(int)&pWStack_19c->iContinue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->iContinue" & (field_expression "pWStack_19c->iContinue" identifier -> field_identifier))) + (cast_expression "(int)ppEVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) | identifier)) ;) (expression_statement "*(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194;" (assignment_expression "*(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) =\n       *(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194" (pointer_expression "*(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3)" * (cast_expression "(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->iBreak + (int)ppEVar3)" ( (binary_expression "(int)&pWStack_19c->iBreak + (int)ppEVar3" (cast_expression "(int)&pWStack_19c->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->iBreak" & (field_expression "pWStack_19c->iBreak" identifier -> field_identifier))) + (cast_expression "(int)ppEVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (binary_expression "*(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3) | uStack_194" (pointer_expression "*(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3)" * (cast_expression "(uint *)((int)&pWStack_19c->iBreak + (int)ppEVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->iBreak + (int)ppEVar3)" ( (binary_expression "(int)&pWStack_19c->iBreak + (int)ppEVar3" (cast_expression "(int)&pWStack_19c->iBreak" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->iBreak" & (field_expression "pWStack_19c->iBreak" identifier -> field_identifier))) + (cast_expression "(int)ppEVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) | identifier)) ;) (expression_statement "pWVar29 = pWC;" (assignment_expression "pWVar29 = pWC" identifier = identifier) ;) (expression_statement "BVar64 = BVar61;" (assignment_expression "BVar64 = BVar61" identifier = identifier) ;) (expression_statement "BVar61 = CONCAT44(pWStack_190,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(pWStack_190,pWStack_18c)" identifier = (call_expression "CONCAT44(pWStack_190,pWStack_18c)" identifier (argument_list "(pWStack_190,pWStack_18c)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000c4c58:\n  if (pEStack_154 == (ExprList *)*piVar8) {\n    return;\n  }" statement_identifier : (if_statement "if (pEStack_154 == (ExprList *)*piVar8) {\n    return;\n  }" if (parenthesized_expression "(pEStack_154 == (ExprList *)*piVar8)" ( (binary_expression "pEStack_154 == (ExprList *)*piVar8" identifier == (cast_expression "(ExprList *)*piVar8" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar57 + 0x96f48))();" (call_expression "(**(code **)(puVar57 + 0x96f48))()" (parenthesized_expression "(**(code **)(puVar57 + 0x96f48))" ( (pointer_expression "**(code **)(puVar57 + 0x96f48)" * (pointer_expression "*(code **)(puVar57 + 0x96f48)" * (cast_expression "(code **)(puVar57 + 0x96f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96f48)" ( (binary_expression "puVar57 + 0x96f48" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pWVar44 = (WhereInfo *)jumpIfNull;" (assignment_expression "pWVar44 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000c7158:\n  uVar32 = 0;" statement_identifier : (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000c6df0:\n  uVar21 = 1 << (uVar32 & 0x1f);" statement_identifier : (expression_statement "uVar21 = 1 << (uVar32 & 0x1f);" (assignment_expression "uVar21 = 1 << (uVar32 & 0x1f)" identifier = (binary_expression "1 << (uVar32 & 0x1f)" number_literal << (parenthesized_expression "(uVar32 & 0x1f)" ( (binary_expression "uVar32 & 0x1f" identifier & number_literal) )))) ;)) (if_statement "if ((uVar32 & 0x20) == 0) {\n    uVar32 = 0;\n  }\n  else {\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }" if (parenthesized_expression "((uVar32 & 0x20) == 0)" ( (binary_expression "(uVar32 & 0x20) == 0" (parenthesized_expression "(uVar32 & 0x20)" ( (binary_expression "uVar32 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar32 = 0;\n  }" { (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }" else (compound_statement "{\n    uVar32 = uVar21;\n    uVar21 = 0;\n  }" { (expression_statement "uVar32 = uVar21;" (assignment_expression "uVar32 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }))) (expression_statement "in_t2 = (WhereInfo *)((uint)in_t2 | uVar21);" (assignment_expression "in_t2 = (WhereInfo *)((uint)in_t2 | uVar21)" identifier = (cast_expression "(WhereInfo *)((uint)in_t2 | uVar21)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t2 | uVar21)" ( (binary_expression "(uint)in_t2 | uVar21" (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (expression_statement "in_t3 = (WhereInfo *)((uint)in_t3 | uVar32);" (assignment_expression "in_t3 = (WhereInfo *)((uint)in_t3 | uVar32)" identifier = (cast_expression "(WhereInfo *)((uint)in_t3 | uVar32)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t3 | uVar32)" ( (binary_expression "(uint)in_t3 | uVar32" (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (while_statement "while( true ) {\n    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);\n    iVar7 = (int)BVar64 + 1;\n    pWVar34 = (WhereInfo *)&pWVar34->sorted;\n    if (pWVar41 == (WhereInfo *)iVar7) break;\nLAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);\n    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;\n    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pWVar41 = (WhereInfo *)(BVar64 >> 0x20);\n    iVar7 = (int)BVar64 + 1;\n    pWVar34 = (WhereInfo *)&pWVar34->sorted;\n    if (pWVar41 == (WhereInfo *)iVar7) break;\nLAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);\n    uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;\n    if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" { (expression_statement "pWVar41 = (WhereInfo *)(BVar64 >> 0x20);" (assignment_expression "pWVar41 = (WhereInfo *)(BVar64 >> 0x20)" identifier = (cast_expression "(WhereInfo *)(BVar64 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BVar64 >> 0x20)" ( (binary_expression "BVar64 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "iVar7 = (int)BVar64 + 1;" (assignment_expression "iVar7 = (int)BVar64 + 1" identifier = (binary_expression "(int)BVar64 + 1" (cast_expression "(int)BVar64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "pWVar34 = (WhereInfo *)&pWVar34->sorted;" (assignment_expression "pWVar34 = (WhereInfo *)&pWVar34->sorted" identifier = (cast_expression "(WhereInfo *)&pWVar34->sorted" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->sorted" & (field_expression "pWVar34->sorted" identifier -> field_identifier)))) ;) (if_statement "if (pWVar41 == (WhereInfo *)iVar7) break;" if (parenthesized_expression "(pWVar41 == (WhereInfo *)iVar7)" ( (binary_expression "pWVar41 == (WhereInfo *)iVar7" identifier == (cast_expression "(WhereInfo *)iVar7" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000c6d54:\n    BVar64 = CONCAT44(pWVar41,iVar7);" statement_identifier : (expression_statement "BVar64 = CONCAT44(pWVar41,iVar7);" (assignment_expression "BVar64 = CONCAT44(pWVar41,iVar7)" identifier = (call_expression "CONCAT44(pWVar41,iVar7)" identifier (argument_list "(pWVar41,iVar7)" ( identifier , identifier )))) ;)) (expression_statement "uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d;" (assignment_expression "uVar32 = *(byte *)&pWVar34->pParse->db - 0x2d" identifier = (binary_expression "*(byte *)&pWVar34->pParse->db - 0x2d" (pointer_expression "*(byte *)&pWVar34->pParse->db" * (cast_expression "(byte *)&pWVar34->pParse->db" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->pParse->db" & (field_expression "pWVar34->pParse->db" (field_expression "pWVar34->pParse" identifier -> field_identifier) -> field_identifier)))) - number_literal)) ;) (if_statement "if ((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)) {\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }" if (parenthesized_expression "((((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5))" ( (binary_expression "(((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)) ||\n       ((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)" (parenthesized_expression "(((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0))" ( (binary_expression "((uVar32 & 0xff) < 0xd) && ((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "((uVar32 & 0xff) < 0xd)" ( (binary_expression "(uVar32 & 0xff) < 0xd" (parenthesized_expression "(uVar32 & 0xff)" ( (binary_expression "uVar32 & 0xff" identifier & number_literal) )) < number_literal) )) && (parenthesized_expression "((int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f)" ( (binary_expression "((uint)in_t4 >> (uVar32 & 0x1f)) << 0x1f" (parenthesized_expression "((uint)in_t4 >> (uVar32 & 0x1f))" ( (binary_expression "(uint)in_t4 >> (uVar32 & 0x1f)" (cast_expression "(uint)in_t4" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar32 & 0x1f)" ( (binary_expression "uVar32 & 0x1f" identifier & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) || (parenthesized_expression "((WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5)" ( (binary_expression "(WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet == in_t5" (binary_expression "(WhereInfo *)(uint)*(ushort *)&pWVar34->pResultSet" (cast_expression "(WhereInfo *)(uint)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)&pWVar34->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->pResultSet" & (field_expression "pWVar34->pResultSet" identifier -> field_identifier)))) == identifier) ))) )) (compound_statement "{\n      uVar21 = (in_t6->sMaskSet).n;\n      if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }\n    }" { (expression_statement "uVar21 = (in_t6->sMaskSet).n;" (assignment_expression "uVar21 = (in_t6->sMaskSet).n" identifier = (field_expression "(in_t6->sMaskSet).n" (parenthesized_expression "(in_t6->sMaskSet)" ( (field_expression "in_t6->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (0 < (int)uVar21) {\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }" if (parenthesized_expression "(0 < (int)uVar21)" ( (binary_expression "0 < (int)uVar21" number_literal < (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        piVar47 = (in_t6->sMaskSet).ix;\n        if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;\n        uVar25 = 1;\n        while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }\n      }" { (expression_statement "piVar47 = (in_t6->sMaskSet).ix;" (assignment_expression "piVar47 = (in_t6->sMaskSet).ix" identifier = (field_expression "(in_t6->sMaskSet).ix" (parenthesized_expression "(in_t6->sMaskSet)" ( (field_expression "in_t6->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit) goto LAB_000c7158;" if (parenthesized_expression "((in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit)" ( (binary_expression "(in_t6->sMaskSet).ix[0] == *(int *)&pWVar34->iLimit" (subscript_expression "(in_t6->sMaskSet).ix[0]" (field_expression "(in_t6->sMaskSet).ix" (parenthesized_expression "(in_t6->sMaskSet)" ( (field_expression "in_t6->sMaskSet" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (pointer_expression "*(int *)&pWVar34->iLimit" * (cast_expression "(int *)&pWVar34->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->iLimit" & (field_expression "pWVar34->iLimit" identifier -> field_identifier))))) )) (goto_statement "goto LAB_000c7158;" goto statement_identifier ;)) (expression_statement "uVar25 = 1;" (assignment_expression "uVar25 = 1" identifier = number_literal) ;) (while_statement "while (uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21) {\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }" while (parenthesized_expression "(uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21)" ( (comma_expression "uVar32 = uVar25, piVar47 = piVar47 + 1, uVar32 != uVar21" (assignment_expression "uVar32 = uVar25" identifier = identifier) , (comma_expression "piVar47 = piVar47 + 1, uVar32 != uVar21" (assignment_expression "piVar47 = piVar47 + 1" identifier = (binary_expression "piVar47 + 1" identifier + number_literal)) , (binary_expression "uVar32 != uVar21" identifier != identifier))) )) (compound_statement "{\n          uVar25 = uVar32 + 1;\n          if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;\n        }" { (expression_statement "uVar25 = uVar32 + 1;" (assignment_expression "uVar25 = uVar32 + 1" identifier = (binary_expression "uVar32 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)&pWVar34->iLimit == *piVar47) goto LAB_000c6df0;" if (parenthesized_expression "(*(int *)&pWVar34->iLimit == *piVar47)" ( (binary_expression "*(int *)&pWVar34->iLimit == *piVar47" (pointer_expression "*(int *)&pWVar34->iLimit" * (cast_expression "(int *)&pWVar34->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar34->iLimit" & (field_expression "pWVar34->iLimit" identifier -> field_identifier)))) == (pointer_expression "*piVar47" * identifier)) )) (goto_statement "goto LAB_000c6df0;" goto statement_identifier ;)) })) })) })) })) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "jumpIfNull = 0;" (assignment_expression "jumpIfNull = 0" identifier = number_literal) ;) (expression_statement "pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3);" (assignment_expression "pWStack_188 = (WhereInfo *)((uint)pWStack_188 & (uint)in_t3)" identifier = (cast_expression "(WhereInfo *)((uint)pWStack_188 & (uint)in_t3)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pWStack_188 & (uint)in_t3)" ( (binary_expression "(uint)pWStack_188 & (uint)in_t3" (cast_expression "(uint)pWStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2);" (assignment_expression "pBStack_184 = (Bitmask *)((uint)pBStack_184 & (uint)in_t2)" identifier = (cast_expression "(Bitmask *)((uint)pBStack_184 & (uint)in_t2)" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pBStack_184 & (uint)in_t2)" ( (binary_expression "(uint)pBStack_184 & (uint)in_t2" (cast_expression "(uint)pBStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pWC = pWVar29;" (assignment_expression "pWC = pWVar29" identifier = identifier) ;) (while_statement "while( true ) {\n    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n    pWVar44 = (WhereInfo *)&pWVar44->sorted;\n    if (pWVar49 == pWVar42) break;\n    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n    pWStack_18c = (WhereInfo *)BVar61;\n    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }\n    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n    if ((uVar26 & 8) != 0) goto LAB_000c5b24;\n    pWVar34 = (WhereInfo *)(uVar26 & 2);\n    uVar21 = (pWStack_1a4->sMaskSet).n;\n    if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }\nLAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);\n    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);\n    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);\n    pWVar44 = (WhereInfo *)&pWVar44->sorted;\n    if (pWVar49 == pWVar42) break;\n    if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);\n    pWStack_18c = (WhereInfo *)BVar61;\n    if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }\n    uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n    if ((uVar26 & 8) != 0) goto LAB_000c5b24;\n    pWVar34 = (WhereInfo *)(uVar26 & 2);\n    uVar21 = (pWStack_1a4->sMaskSet).n;\n    if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }\nLAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);\n    pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);\n    if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }\n  }" { (expression_statement "pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);" (assignment_expression "pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar49[-1].a[0].notReady + 7)" ( (binary_expression "(int)&pWVar49[-1].a[0].notReady + 7" (cast_expression "(int)&pWVar49[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar49[-1].a[0].notReady" & (field_expression "pWVar49[-1].a[0].notReady" (subscript_expression "pWVar49[-1].a[0]" (field_expression "pWVar49[-1].a" (subscript_expression "pWVar49[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pWVar44 = (WhereInfo *)&pWVar44->sorted;" (assignment_expression "pWVar44 = (WhereInfo *)&pWVar44->sorted" identifier = (cast_expression "(WhereInfo *)&pWVar44->sorted" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->sorted" & (field_expression "pWVar44->sorted" identifier -> field_identifier)))) ;) (if_statement "if (pWVar49 == pWVar42) break;" if (parenthesized_expression "(pWVar49 == pWVar42)" ( (binary_expression "pWVar49 == pWVar42" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5efc;" if (parenthesized_expression "(pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0)" ( (binary_expression "pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0" (binary_expression "pWStack_188 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pBStack_184 == (Bitmask *)0x0" identifier == (cast_expression "(Bitmask *)0x0" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;)) (labeled_statement "LAB_000c5ae4:\n    pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);" statement_identifier : (expression_statement "pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);" (assignment_expression "pWStack_190 = (WhereInfo *)(BVar61 >> 0x20)" identifier = (cast_expression "(WhereInfo *)(BVar61 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BVar61 >> 0x20)" ( (binary_expression "BVar61 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "pWStack_18c = (WhereInfo *)BVar61;" (assignment_expression "pWStack_18c = (WhereInfo *)BVar61" identifier = (cast_expression "(WhereInfo *)BVar61" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((uint)pWVar44->pResultSet & 0x1ff0000) == 0) {\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }" if (parenthesized_expression "(((uint)pWVar44->pResultSet & 0x1ff0000) == 0)" ( (binary_expression "((uint)pWVar44->pResultSet & 0x1ff0000) == 0" (parenthesized_expression "((uint)pWVar44->pResultSet & 0x1ff0000)" ( (binary_expression "(uint)pWVar44->pResultSet & 0x1ff0000" (cast_expression "(uint)pWVar44->pResultSet" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar44->pResultSet" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }\n      pWVar34 = (WhereInfo *)0x198;\n      pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);\n      if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;\n      uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);\n      pcVar59 = *(code **)(puVar57 + 0x96eec);\n      ((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;\n      *(undefined2 *)&pWVar44->pResultSet = 0x400;\n      *(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;\n      pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);\n      pWVar29 = (WhereInfo *)pWC->pParse;\n      pWVar12->hasOr = '\0';\n      pWVar12->pWInfo = pWVar29;\n      pWVar12->pOuter = (WhereClause *)0x0;\n      pWVar12->nTerm = 0;\n      pWVar12->nSlot = 8;\n      pWVar12->a = pWVar35;\n      (*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);\n      iVar7 = pWVar12->nTerm + -1;\n      in_t4 = (WhereInfo *)jumpIfNull;\n      if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }\n      pWVar12->pOuter = (WhereClause *)pWC;\n      if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }\n      pWVar41 = (WhereInfo *)pWVar12->nTerm;\n      pWVar34 = (WhereInfo *)pWVar12->a;\n      if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }\n      iVar7 = 0;\n      in_t3 = (WhereInfo *)0x0;\n      in_t2 = (WhereInfo *)0x0;\n      in_t5 = (WhereInfo *)0x40;\n      in_t4 = (WhereInfo *)0x1f31;\n      in_t6 = pWStack_1a4;\n      pWVar29 = pWC;\n      goto LAB_000c6d54;\n    }" { (if_statement "if (psVar53->mallocFailed != '\0') {\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }" if (parenthesized_expression "(psVar53->mallocFailed != '\0')" ( (binary_expression "psVar53->mallocFailed != '\0'" (field_expression "psVar53->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000c5b1c:\n        uVar32 = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5b24;\n      }" { (labeled_statement "LAB_000c5b1c:\n        uVar32 = 0;" statement_identifier : (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;)) (expression_statement "jumpIfNull = 0;" (assignment_expression "jumpIfNull = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;) })) (expression_statement "pWVar34 = (WhereInfo *)0x198;" (assignment_expression "pWVar34 = (WhereInfo *)0x198" identifier = (cast_expression "(WhereInfo *)0x198" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53);" (assignment_expression "pWVar12 = (WhereClause *)(*(code *)psStack_17c)(psVar53)" identifier = (cast_expression "(WhereClause *)(*(code *)psStack_17c)(psVar53)" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)psStack_17c)(psVar53)" (parenthesized_expression "(*(code *)psStack_17c)" ( (pointer_expression "*(code *)psStack_17c" * (cast_expression "(code *)psStack_17c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar53)" ( identifier ))))) ;) (if_statement "if (pWVar12 == (WhereClause *)0x0) goto LAB_000c5b1c;" if (parenthesized_expression "(pWVar12 == (WhereClause *)0x0)" ( (binary_expression "pWVar12 == (WhereClause *)0x0" identifier == (cast_expression "(WhereClause *)0x0" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b1c;" goto statement_identifier ;)) (expression_statement "uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);" (assignment_expression "uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2)" identifier = (pointer_expression "*(ushort *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pcVar59 = *(code **)(puVar57 + 0x96eec);" (assignment_expression "pcVar59 = *(code **)(puVar57 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar57 + 0x96eec)" * (cast_expression "(code **)(puVar57 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96eec)" ( (binary_expression "puVar57 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12;" (assignment_expression "((WhereTerm *)pWVar44->aiCurOnePass)->pWC = pWVar12" (field_expression "((WhereTerm *)pWVar44->aiCurOnePass)->pWC" (parenthesized_expression "((WhereTerm *)pWVar44->aiCurOnePass)" ( (cast_expression "(WhereTerm *)pWVar44->aiCurOnePass" ( (type_descriptor "WhereTerm *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar44->aiCurOnePass" identifier -> field_identifier)) )) -> field_identifier) = identifier) ;) (expression_statement "*(undefined2 *)&pWVar44->pResultSet = 0x400;" (assignment_expression "*(undefined2 *)&pWVar44->pResultSet = 0x400" (pointer_expression "*(undefined2 *)&pWVar44->pResultSet" * (cast_expression "(undefined2 *)&pWVar44->pResultSet" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->pResultSet" & (field_expression "pWVar44->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20;" (assignment_expression "*(ushort *)((int)&pWVar44->pOrderBy + 2) = uVar26 | 0x20" (pointer_expression "*(ushort *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "uVar26 | 0x20" identifier | number_literal)) ;) (expression_statement "pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180);" (assignment_expression "pWVar35 = (WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180)" identifier = (cast_expression "(WhereTerm *)(*pcVar59)(pWVar12->aStatic,0,0x180)" ( (type_descriptor "WhereTerm *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar59)(pWVar12->aStatic,0,0x180)" (parenthesized_expression "(*pcVar59)" ( (pointer_expression "*pcVar59" * identifier) )) (argument_list "(pWVar12->aStatic,0,0x180)" ( (field_expression "pWVar12->aStatic" identifier -> field_identifier) , number_literal , number_literal ))))) ;) (expression_statement "pWVar29 = (WhereInfo *)pWC->pParse;" (assignment_expression "pWVar29 = (WhereInfo *)pWC->pParse" identifier = (cast_expression "(WhereInfo *)pWC->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWC->pParse" identifier -> field_identifier))) ;) (expression_statement "pWVar12->hasOr = '\0';" (assignment_expression "pWVar12->hasOr = '\0'" (field_expression "pWVar12->hasOr" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pWVar12->pWInfo = pWVar29;" (assignment_expression "pWVar12->pWInfo = pWVar29" (field_expression "pWVar12->pWInfo" identifier -> field_identifier) = identifier) ;) (expression_statement "pWVar12->pOuter = (WhereClause *)0x0;" (assignment_expression "pWVar12->pOuter = (WhereClause *)0x0" (field_expression "pWVar12->pOuter" identifier -> field_identifier) = (cast_expression "(WhereClause *)0x0" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar12->nTerm = 0;" (assignment_expression "pWVar12->nTerm = 0" (field_expression "pWVar12->nTerm" identifier -> field_identifier) = number_literal) ;) (expression_statement "pWVar12->nSlot = 8;" (assignment_expression "pWVar12->nSlot = 8" (field_expression "pWVar12->nSlot" identifier -> field_identifier) = number_literal) ;) (expression_statement "pWVar12->a = pWVar35;" (assignment_expression "pWVar12->a = pWVar35" (field_expression "pWVar12->a" identifier -> field_identifier) = identifier) ;) (expression_statement "(*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c);" (call_expression "(*pcStack_174)(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pWVar12,(WhereInfo *)pWVar44->pParse,0x2c)" ( identifier , (cast_expression "(WhereInfo *)pWVar44->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar44->pParse" identifier -> field_identifier)) , number_literal ))) ;) (expression_statement "iVar7 = pWVar12->nTerm + -1;" (assignment_expression "iVar7 = pWVar12->nTerm + -1" identifier = (binary_expression "pWVar12->nTerm + -1" (field_expression "pWVar12->nTerm" identifier -> field_identifier) + number_literal)) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (-1 < iVar7) {\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);\n      }" { (do_statement "do {\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        } while ((WhereInfo *)iVar45 != pWVar42);" do (compound_statement "{\n          iVar45 = iVar7 + -1;\n          (*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);\n          in_t4 = (WhereInfo *)jumpIfNull;\n          iVar7 = iVar45;\n        }" { (expression_statement "iVar45 = iVar7 + -1;" (assignment_expression "iVar45 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;) (expression_statement "(*(code *)pWStack_190)(pPVar28,pWVar12,iVar7);" (call_expression "(*(code *)pWStack_190)(pPVar28,pWVar12,iVar7)" (parenthesized_expression "(*(code *)pWStack_190)" ( (pointer_expression "*(code *)pWStack_190" * (cast_expression "(code *)pWStack_190" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar28,pWVar12,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = iVar45;" (assignment_expression "iVar7 = iVar45" identifier = identifier) ;) }) while (parenthesized_expression "((WhereInfo *)iVar45 != pWVar42)" ( (binary_expression "(WhereInfo *)iVar45 != pWVar42" (cast_expression "(WhereInfo *)iVar45" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) })) (expression_statement "pWVar12->pOuter = (WhereClause *)pWC;" (assignment_expression "pWVar12->pOuter = (WhereClause *)pWC" (field_expression "pWVar12->pOuter" identifier -> field_identifier) = (cast_expression "(WhereClause *)pWC" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar53->mallocFailed != '\0') {\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }" if (parenthesized_expression "(psVar53->mallocFailed != '\0')" ( (binary_expression "psVar53->mallocFailed != '\0'" (field_expression "psVar53->mallocFailed" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        *(undefined2 *)&pWStack_18c->pResultSet = 0x200;\n        pWVar29 = pWVar42;\n        jumpIfNull = (int)pWVar44;\n        goto LAB_000c5c2c;\n      }" { (if_statement "if (pWVar49 != (WhereInfo *)0x0) {\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }" if (parenthesized_expression "(pWVar49 != (WhereInfo *)0x0)" ( (binary_expression "pWVar49 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar32 = 0;\n          jumpIfNull = 0;\n          goto LAB_000c5efc;\n        }" { (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "jumpIfNull = 0;" (assignment_expression "jumpIfNull = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;) })) (labeled_statement "LAB_000c7130:\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;" statement_identifier : (expression_statement "(pWVar52->sWC).aStatic[6].leftCursor = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].leftCursor = 0" (field_expression "(pWVar52->sWC).aStatic[6].leftCursor" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;)) (expression_statement "(pWVar52->sWC).aStatic[6].iParent = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].iParent = 0" (field_expression "(pWVar52->sWC).aStatic[6].iParent" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "*(undefined2 *)&pWStack_18c->pResultSet = 0x200;" (assignment_expression "*(undefined2 *)&pWStack_18c->pResultSet = 0x200" (pointer_expression "*(undefined2 *)&pWStack_18c->pResultSet" * (cast_expression "(undefined2 *)&pWStack_18c->pResultSet" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWStack_18c->pResultSet" & (field_expression "pWStack_18c->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pWVar29 = pWVar42;" (assignment_expression "pWVar29 = pWVar42" identifier = identifier) ;) (expression_statement "jumpIfNull = (int)pWVar44;" (assignment_expression "jumpIfNull = (int)pWVar44" identifier = (cast_expression "(int)pWVar44" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) (expression_statement "pWVar41 = (WhereInfo *)pWVar12->nTerm;" (assignment_expression "pWVar41 = (WhereInfo *)pWVar12->nTerm" identifier = (cast_expression "(WhereInfo *)pWVar12->nTerm" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar12->nTerm" identifier -> field_identifier))) ;) (expression_statement "pWVar34 = (WhereInfo *)pWVar12->a;" (assignment_expression "pWVar34 = (WhereInfo *)pWVar12->a" identifier = (cast_expression "(WhereInfo *)pWVar12->a" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar12->a" identifier -> field_identifier))) ;) (if_statement "if ((int)pWVar41 < 1) {\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }" if (parenthesized_expression "((int)pWVar41 < 1)" ( (binary_expression "(int)pWVar41 < 1" (cast_expression "(int)pWVar41" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;\n        (pWVar52->sWC).aStatic[6].leftCursor = 0;\n        uVar32 = 0;\n        (pWVar52->sWC).aStatic[6].iParent = 0;\n        jumpIfNull = 0;\n        goto LAB_000c5f04;\n      }" { (if_statement "if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c7130;" if (parenthesized_expression "(pWVar49 != (WhereInfo *)0x0)" ( (binary_expression "pWVar49 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7130;" goto statement_identifier ;)) (expression_statement "(pWVar52->sWC).aStatic[6].leftCursor = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].leftCursor = 0" (field_expression "(pWVar52->sWC).aStatic[6].leftCursor" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "(pWVar52->sWC).aStatic[6].iParent = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].iParent = 0" (field_expression "(pWVar52->sWC).aStatic[6].iParent" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "jumpIfNull = 0;" (assignment_expression "jumpIfNull = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "in_t3 = (WhereInfo *)0x0;" (assignment_expression "in_t3 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t2 = (WhereInfo *)0x0;" (assignment_expression "in_t2 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t5 = (WhereInfo *)0x40;" (assignment_expression "in_t5 = (WhereInfo *)0x40" identifier = (cast_expression "(WhereInfo *)0x40" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (WhereInfo *)0x1f31;" (assignment_expression "in_t4 = (WhereInfo *)0x1f31" identifier = (cast_expression "(WhereInfo *)0x1f31" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = pWStack_1a4;" (assignment_expression "in_t6 = pWStack_1a4" identifier = identifier) ;) (expression_statement "pWVar29 = pWC;" (assignment_expression "pWVar29 = pWC" identifier = identifier) ;) (goto_statement "goto LAB_000c6d54;" goto statement_identifier ;) })) (expression_statement "uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2);" (assignment_expression "uVar26 = *(ushort *)((int)&pWVar44->pOrderBy + 2)" identifier = (pointer_expression "*(ushort *)((int)&pWVar44->pOrderBy + 2)" * (cast_expression "(ushort *)((int)&pWVar44->pOrderBy + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar44->pOrderBy + 2)" ( (binary_expression "(int)&pWVar44->pOrderBy + 2" (cast_expression "(int)&pWVar44->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar44->pOrderBy" & (field_expression "pWVar44->pOrderBy" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((uVar26 & 8) != 0) goto LAB_000c5b24;" if (parenthesized_expression "((uVar26 & 8) != 0)" ( (binary_expression "(uVar26 & 8) != 0" (parenthesized_expression "(uVar26 & 8)" ( (binary_expression "uVar26 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;)) (expression_statement "pWVar34 = (WhereInfo *)(uVar26 & 2);" (assignment_expression "pWVar34 = (WhereInfo *)(uVar26 & 2)" identifier = (cast_expression "(WhereInfo *)(uVar26 & 2)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )))) ;) (expression_statement "uVar21 = (pWStack_1a4->sMaskSet).n;" (assignment_expression "uVar21 = (pWStack_1a4->sMaskSet).n" identifier = (field_expression "(pWStack_1a4->sMaskSet).n" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((int)uVar21 < 1) {\n      uVar38 = 0;\n      uVar25 = 0;\n    }\n    else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }" if (parenthesized_expression "((int)uVar21 < 1)" ( (binary_expression "(int)uVar21 < 1" (cast_expression "(int)uVar21" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar38 = 0;\n      uVar25 = 0;\n    }" { (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }" else (compound_statement "{\n      in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];\n      if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }\n      uVar16 = 1 << (uVar25 & 0x1f);\n      if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }\nLAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }\n    }" { (expression_statement "in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0];" (assignment_expression "in_t2 = (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]" identifier = (cast_expression "(WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pWStack_1a4->sMaskSet).ix[0]" (field_expression "(pWStack_1a4->sMaskSet).ix" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (*(WhereInfo **)&pWVar44->iLimit == in_t2) {\n        uVar25 = 0;\n      }\n      else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }" if (parenthesized_expression "(*(WhereInfo **)&pWVar44->iLimit == in_t2)" ( (binary_expression "*(WhereInfo **)&pWVar44->iLimit == in_t2" (pointer_expression "*(WhereInfo **)&pWVar44->iLimit" * (cast_expression "(WhereInfo **)&pWVar44->iLimit" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar44->iLimit" & (field_expression "pWVar44->iLimit" identifier -> field_identifier)))) == identifier) )) (compound_statement "{\n        uVar25 = 0;\n      }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }" else (compound_statement "{\n        piVar47 = (pWStack_1a4->sMaskSet).ix;\n        uVar25 = 0;\n        do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);\n      }" { (expression_statement "piVar47 = (pWStack_1a4->sMaskSet).ix;" (assignment_expression "piVar47 = (pWStack_1a4->sMaskSet).ix" identifier = (field_expression "(pWStack_1a4->sMaskSet).ix" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        } while (*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47);" do (compound_statement "{\n          piVar47 = piVar47 + 1;\n          uVar25 = uVar25 + 1;\n          if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }\n        }" { (expression_statement "piVar47 = piVar47 + 1;" (assignment_expression "piVar47 = piVar47 + 1" identifier = (binary_expression "piVar47 + 1" identifier + number_literal)) ;) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) (if_statement "if (uVar25 == uVar21) {\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }" if (parenthesized_expression "(uVar25 == uVar21)" ( (binary_expression "uVar25 == uVar21" identifier == identifier) )) (compound_statement "{\n            uVar25 = 0;\n            uVar38 = 0;\n            goto LAB_000c6208;\n          }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c6208;" goto statement_identifier ;) })) }) while (parenthesized_expression "(*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47)" ( (binary_expression "*(WhereInfo **)&pWVar44->iLimit != (WhereInfo *)*piVar47" (pointer_expression "*(WhereInfo **)&pWVar44->iLimit" * (cast_expression "(WhereInfo **)&pWVar44->iLimit" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar44->iLimit" & (field_expression "pWVar44->iLimit" identifier -> field_identifier)))) != (cast_expression "(WhereInfo *)*piVar47" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar47" * identifier))) )) ;) }))) (expression_statement "uVar16 = 1 << (uVar25 & 0x1f);" (assignment_expression "uVar16 = 1 << (uVar25 & 0x1f)" identifier = (binary_expression "1 << (uVar25 & 0x1f)" number_literal << (parenthesized_expression "(uVar25 & 0x1f)" ( (binary_expression "uVar25 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar25 & 0x20) == 0) {\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }\n      else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }" if (parenthesized_expression "((uVar25 & 0x20) == 0)" ( (binary_expression "(uVar25 & 0x20) == 0" (parenthesized_expression "(uVar25 & 0x20)" ( (binary_expression "uVar25 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar38 = 0;\n        uVar25 = uVar16;\n      }" { (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = uVar16;" (assignment_expression "uVar25 = uVar16" identifier = identifier) ;) }) (else_clause "else {\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }" else (compound_statement "{\n        uVar25 = 0;\n        uVar38 = uVar16;\n      }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = uVar16;" (assignment_expression "uVar38 = uVar16" identifier = identifier) ;) }))) (labeled_statement "LAB_000c6208:\n      if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }" statement_identifier : (if_statement "if ((uVar26 & 2) != 0) {\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }" if (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pWVar34 = (WhereInfo *)pWVar44->pWhere;\n        pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);\n        uVar16 = 0;\n        if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }\n        uVar21 = 1 << (uVar16 & 0x1f);\n        if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }\n        uVar25 = uVar25 | uVar21;\n        uVar38 = uVar38 | uVar16;\n      }" { (expression_statement "pWVar34 = (WhereInfo *)pWVar44->pWhere;" (assignment_expression "pWVar34 = (WhereInfo *)pWVar44->pWhere" identifier = (cast_expression "(WhereInfo *)pWVar44->pWhere" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar44->pWhere" identifier -> field_identifier))) ;) (expression_statement "pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14);" (assignment_expression "pWVar41 = *(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14)" identifier = (pointer_expression "*(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14)" * (cast_expression "(WhereInfo **)(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14)" ( (binary_expression "*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30 + 0x14" (binary_expression "*(int *)&pWVar52->iLimit + (int)pWVar34 * 0x30" (pointer_expression "*(int *)&pWVar52->iLimit" * (cast_expression "(int *)&pWVar52->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier)))) + (binary_expression "(int)pWVar34 * 0x30" (cast_expression "(int)pWVar34" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (pWVar41 != in_t2) {\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }" if (parenthesized_expression "(pWVar41 != in_t2)" ( (binary_expression "pWVar41 != in_t2" identifier != identifier) )) (compound_statement "{\n          piVar47 = (pWStack_1a4->sMaskSet).ix;\n          uVar5 = 1;\n          do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);\n        }" { (expression_statement "piVar47 = (pWStack_1a4->sMaskSet).ix;" (assignment_expression "piVar47 = (pWStack_1a4->sMaskSet).ix" identifier = (field_expression "(pWStack_1a4->sMaskSet).ix" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (do_statement "do {\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          } while (pWVar34 != pWVar41);" do (compound_statement "{\n            uVar16 = uVar5;\n            piVar47 = piVar47 + 1;\n            if (uVar16 == uVar21) goto LAB_000c6210;\n            pWVar34 = (WhereInfo *)*piVar47;\n            uVar5 = uVar16 + 1;\n          }" { (expression_statement "uVar16 = uVar5;" (assignment_expression "uVar16 = uVar5" identifier = identifier) ;) (expression_statement "piVar47 = piVar47 + 1;" (assignment_expression "piVar47 = piVar47 + 1" identifier = (binary_expression "piVar47 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 == uVar21) goto LAB_000c6210;" if (parenthesized_expression "(uVar16 == uVar21)" ( (binary_expression "uVar16 == uVar21" identifier == identifier) )) (goto_statement "goto LAB_000c6210;" goto statement_identifier ;)) (expression_statement "pWVar34 = (WhereInfo *)*piVar47;" (assignment_expression "pWVar34 = (WhereInfo *)*piVar47" identifier = (cast_expression "(WhereInfo *)*piVar47" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar47" * identifier))) ;) (expression_statement "uVar5 = uVar16 + 1;" (assignment_expression "uVar5 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pWVar34 != pWVar41)" ( (binary_expression "pWVar34 != pWVar41" identifier != identifier) )) ;) })) (expression_statement "uVar21 = 1 << (uVar16 & 0x1f);" (assignment_expression "uVar21 = 1 << (uVar16 & 0x1f)" identifier = (binary_expression "1 << (uVar16 & 0x1f)" number_literal << (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar16 & 0x20) == 0) {\n          uVar16 = 0;\n        }\n        else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }" if (parenthesized_expression "((uVar16 & 0x20) == 0)" ( (binary_expression "(uVar16 & 0x20) == 0" (parenthesized_expression "(uVar16 & 0x20)" ( (binary_expression "uVar16 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar16 = 0;\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }" else (compound_statement "{\n          uVar16 = uVar21;\n          uVar21 = 0;\n        }" { (expression_statement "uVar16 = uVar21;" (assignment_expression "uVar16 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar25 = uVar25 | uVar21;" (assignment_expression "uVar25 = uVar25 | uVar21" identifier = (binary_expression "uVar25 | uVar21" identifier | identifier)) ;) (expression_statement "uVar38 = uVar38 | uVar16;" (assignment_expression "uVar38 = uVar38 | uVar16" identifier = (binary_expression "uVar38 | uVar16" identifier | identifier)) ;) }))) }))) (labeled_statement "LAB_000c6210:\n    pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);" statement_identifier : (expression_statement "pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38);" (assignment_expression "pWStack_188 = (WhereInfo *)((uint)pWStack_188 & uVar38)" identifier = (cast_expression "(WhereInfo *)((uint)pWStack_188 & uVar38)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pWStack_188 & uVar38)" ( (binary_expression "(uint)pWStack_188 & uVar38" (cast_expression "(uint)pWStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;)) (expression_statement "pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25);" (assignment_expression "pBStack_184 = (Bitmask *)((uint)pBStack_184 & uVar25)" identifier = (cast_expression "(Bitmask *)((uint)pBStack_184 & uVar25)" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pBStack_184 & uVar25)" ( (binary_expression "(uint)pBStack_184 & uVar25" (cast_expression "(uint)pBStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (if_statement "if (((uint)pWVar44->pResultSet & 0x20000) == 0) {\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }\n    else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }" if (parenthesized_expression "(((uint)pWVar44->pResultSet & 0x20000) == 0)" ( (binary_expression "((uint)pWVar44->pResultSet & 0x20000) == 0" (parenthesized_expression "((uint)pWVar44->pResultSet & 0x20000)" ( (binary_expression "(uint)pWVar44->pResultSet & 0x20000" (cast_expression "(uint)pWVar44->pResultSet" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar44->pResultSet" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar32 = 0;\n      jumpIfNull = 0;\n    }" { (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (expression_statement "jumpIfNull = 0;" (assignment_expression "jumpIfNull = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }" else (compound_statement "{\n      uVar32 = uVar32 & uVar38;\n      jumpIfNull = jumpIfNull & uVar25;\n    }" { (expression_statement "uVar32 = uVar32 & uVar38;" (assignment_expression "uVar32 = uVar32 & uVar38" identifier = (binary_expression "uVar32 & uVar38" identifier & identifier)) ;) (expression_statement "jumpIfNull = jumpIfNull & uVar25;" (assignment_expression "jumpIfNull = jumpIfNull & uVar25" identifier = (binary_expression "jumpIfNull & uVar25" identifier & identifier)) ;) }))) })) (labeled_statement "LAB_000c5b30:\n  pWStack_18c = (WhereInfo *)BVar61;" statement_identifier : (expression_statement "pWStack_18c = (WhereInfo *)BVar61;" (assignment_expression "pWStack_18c = (WhereInfo *)BVar61" identifier = (cast_expression "(WhereInfo *)BVar61" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188;" (assignment_expression "(pWVar52->sWC).aStatic[6].iParent = (int)pWStack_188" (field_expression "(pWVar52->sWC).aStatic[6].iParent" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(int)pWStack_188" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184;" (assignment_expression "(pWVar52->sWC).aStatic[6].leftCursor = (int)pBStack_184" (field_expression "(pWVar52->sWC).aStatic[6].leftCursor" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(int)pBStack_184" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0) goto LAB_000c5f04;" if (parenthesized_expression "(pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0)" ( (binary_expression "pWStack_188 == (WhereInfo *)0x0 && pBStack_184 == (Bitmask *)0x0" (binary_expression "pWStack_188 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pBStack_184 == (Bitmask *)0x0" identifier == (cast_expression "(Bitmask *)0x0" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;)) (expression_statement "*(undefined2 *)&pWStack_18c->pResultSet = 0x200;" (assignment_expression "*(undefined2 *)&pWStack_18c->pResultSet = 0x200" (pointer_expression "*(undefined2 *)&pWStack_18c->pResultSet" * (cast_expression "(undefined2 *)&pWStack_18c->pResultSet" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWStack_18c->pResultSet" & (field_expression "pWStack_18c->pResultSet" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(u8 *)((int)&pWC->pOrderBy + 1) = '\x01';" (assignment_expression "*(u8 *)((int)&pWC->pOrderBy + 1) = '\x01'" (pointer_expression "*(u8 *)((int)&pWC->pOrderBy + 1)" * (cast_expression "(u8 *)((int)&pWC->pOrderBy + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWC->pOrderBy + 1)" ( (binary_expression "(int)&pWC->pOrderBy + 1" (cast_expression "(int)&pWC->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWC->pOrderBy" & (field_expression "pWC->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pWVar52->pResultSet == (ExprList *)0x2) {\nLAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;\n    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    pWVar29 = (WhereInfo *)0x0;\nLAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);\n    BVar64 = CONCAT44(psVar53,pWStack_18c);\n    BVar61 = CONCAT44(psVar53,pWStack_18c);\n    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);\n    in_t4 = (WhereInfo *)jumpIfNull;\n    pWVar44 = (WhereInfo *)jumpIfNull;\n    if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }\n    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);\n    pWVar42 = (WhereInfo *)0x0;\n    sVar31 = *(short *)(piVar47 + 0xf);\n    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;\n    iVar7 = 0;\n    do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(pWVar52->pResultSet == (ExprList *)0x2)" ( (binary_expression "pWVar52->pResultSet == (ExprList *)0x2" (field_expression "pWVar52->pResultSet" identifier -> field_identifier) == (cast_expression "(ExprList *)0x2" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;\n    pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);\n    pWVar29 = (WhereInfo *)0x0;\nLAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);\n    BVar64 = CONCAT44(psVar53,pWStack_18c);\n    BVar61 = CONCAT44(psVar53,pWStack_18c);\n    pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);\n    in_t4 = (WhereInfo *)jumpIfNull;\n    pWVar44 = (WhereInfo *)jumpIfNull;\n    if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }\n    pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);\n    pWVar42 = (WhereInfo *)0x0;\n    sVar31 = *(short *)(piVar47 + 0xf);\n    pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;\n    iVar7 = 0;\n    do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_000c6e58:\n    piVar47 = *(int **)&pWVar52->iLimit;" statement_identifier : (expression_statement "piVar47 = *(int **)&pWVar52->iLimit;" (assignment_expression "piVar47 = *(int **)&pWVar52->iLimit" identifier = (pointer_expression "*(int **)&pWVar52->iLimit" * (cast_expression "(int **)&pWVar52->iLimit" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier))))) ;)) (expression_statement "pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);" (assignment_expression "pWStack_188 = (WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96c4c) + -0x429c)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar57 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar57 + 0x96c4c)" * (cast_expression "(int *)(puVar57 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c4c)" ( (binary_expression "puVar57 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c);" (assignment_expression "psStack_17c = (sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" identifier = (cast_expression "(sqlite3 *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_174 = (code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pWVar29 = (WhereInfo *)0x0;" (assignment_expression "pWVar29 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000c6e8c:\n    BVar2 = CONCAT44(psVar53,pWStack_18c);" statement_identifier : (expression_statement "BVar2 = CONCAT44(psVar53,pWStack_18c);" (assignment_expression "BVar2 = CONCAT44(psVar53,pWStack_18c)" identifier = (call_expression "CONCAT44(psVar53,pWStack_18c)" identifier (argument_list "(psVar53,pWStack_18c)" ( identifier , identifier )))) ;)) (expression_statement "BVar64 = CONCAT44(psVar53,pWStack_18c);" (assignment_expression "BVar64 = CONCAT44(psVar53,pWStack_18c)" identifier = (call_expression "CONCAT44(psVar53,pWStack_18c)" identifier (argument_list "(psVar53,pWStack_18c)" ( identifier , identifier )))) ;) (expression_statement "BVar61 = CONCAT44(psVar53,pWStack_18c);" (assignment_expression "BVar61 = CONCAT44(psVar53,pWStack_18c)" identifier = (call_expression "CONCAT44(psVar53,pWStack_18c)" identifier (argument_list "(psVar53,pWStack_18c)" ( identifier , identifier )))) ;) (expression_statement "pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1);" (assignment_expression "pWStack_18c = (WhereInfo *)((int)&pWVar29->pParse + 1)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar29->pParse + 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar29->pParse + 1)" ( (binary_expression "(int)&pWVar29->pParse + 1" (cast_expression "(int)&pWVar29->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar29->pParse" & (field_expression "pWVar29->pParse" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar44 = (WhereInfo *)jumpIfNull;" (assignment_expression "pWVar44 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(short *)(piVar47 + 3) == 0x400) {\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }" if (parenthesized_expression "(*(short *)(piVar47 + 3) == 0x400)" ( (binary_expression "*(short *)(piVar47 + 3) == 0x400" (pointer_expression "*(short *)(piVar47 + 3)" * (cast_expression "(short *)(piVar47 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47 + 3)" ( (binary_expression "piVar47 + 3" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      BVar61 = BVar64;\n      if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;\n    }" { (expression_statement "BVar61 = BVar64;" (assignment_expression "BVar61 = BVar64" identifier = identifier) ;) (if_statement "if ((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)) goto LAB_000c5b6c;" if (parenthesized_expression "((*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0))" ( (binary_expression "(*(int *)(piVar47[7] + 0xc) <= (int)pWVar29) ||\n         (piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)" (parenthesized_expression "(*(int *)(piVar47[7] + 0xc) <= (int)pWVar29)" ( (binary_expression "*(int *)(piVar47[7] + 0xc) <= (int)pWVar29" (pointer_expression "*(int *)(piVar47[7] + 0xc)" * (cast_expression "(int *)(piVar47[7] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47[7] + 0xc)" ( (binary_expression "piVar47[7] + 0xc" (subscript_expression "piVar47[7]" identifier [ number_literal ]) + number_literal) )))) <= (cast_expression "(int)pWVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0)" ( (comma_expression "piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30), BVar61 = BVar2,\n         piVar48 == (int *)0x0" (assignment_expression "piVar48 = (int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30)" identifier = (cast_expression "(int *)(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30)" ( (binary_expression "*(int *)(piVar47[7] + 0x14) + (int)pWVar29 * 0x30" (pointer_expression "*(int *)(piVar47[7] + 0x14)" * (cast_expression "(int *)(piVar47[7] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47[7] + 0x14)" ( (binary_expression "piVar47[7] + 0x14" (subscript_expression "piVar47[7]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "(int)pWVar29 * 0x30" (cast_expression "(int)pWVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) , (comma_expression "BVar61 = BVar2,\n         piVar48 == (int *)0x0" (assignment_expression "BVar61 = BVar2" identifier = identifier) , (binary_expression "piVar48 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }) (else_clause "else {\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }" else (compound_statement "{\n      piVar48 = piVar47;\n      if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;\n    }" { (expression_statement "piVar48 = piVar47;" (assignment_expression "piVar48 = piVar47" identifier = identifier) ;) (if_statement "if (pWVar29 != (WhereInfo *)0x0) goto LAB_000c5b6c;" if (parenthesized_expression "(pWVar29 != (WhereInfo *)0x0)" ( (binary_expression "pWVar29 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }))) (expression_statement "pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac);" (assignment_expression "pWVar49 = *(WhereInfo **)(puVar57 + 0x96dac)" identifier = (pointer_expression "*(WhereInfo **)(puVar57 + 0x96dac)" * (cast_expression "(WhereInfo **)(puVar57 + 0x96dac)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0x96dac)" ( (binary_expression "puVar57 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "pWVar42 = (WhereInfo *)0x0;" (assignment_expression "pWVar42 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar31 = *(short *)(piVar47 + 0xf);" (assignment_expression "sVar31 = *(short *)(piVar47 + 0xf)" identifier = (pointer_expression "*(short *)(piVar47 + 0xf)" * (cast_expression "(short *)(piVar47 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47 + 0xf)" ( (binary_expression "piVar47 + 0xf" identifier + number_literal) ))))) ;) (expression_statement "pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll;" (assignment_expression "pBStack_184 = &pWVar49[0x17].sWC.aStatic[1].prereqAll" identifier = (pointer_expression "&pWVar49[0x17].sWC.aStatic[1].prereqAll" & (field_expression "pWVar49[0x17].sWC.aStatic[1].prereqAll" (subscript_expression "pWVar49[0x17].sWC.aStatic[1]" (field_expression "pWVar49[0x17].sWC.aStatic" (field_expression "pWVar49[0x17].sWC" (subscript_expression "pWVar49[0x17]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    } while( true );" do (compound_statement "{\n      pWVar29 = pWStack_18c;\n      if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }\n      if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;\n      uVar26 = *(ushort *)(piVar48 + 3);\n      pWVar49 = (WhereInfo *)(uint)uVar26;\n      if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }\n      iVar7 = iVar7 + 1;\n    }" { (expression_statement "pWVar29 = pWStack_18c;" (assignment_expression "pWVar29 = pWStack_18c" identifier = identifier) ;) (if_statement "if (sVar31 == 0x400) {\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }\n      else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }" if (parenthesized_expression "(sVar31 == 0x400)" ( (binary_expression "sVar31 == 0x400" identifier == number_literal) )) (compound_statement "{\n        if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;\n        pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);\n      }" { (if_statement "if (*(int *)(piVar47[0x13] + 0xc) <= iVar7) goto LAB_000c6e8c;" if (parenthesized_expression "(*(int *)(piVar47[0x13] + 0xc) <= iVar7)" ( (binary_expression "*(int *)(piVar47[0x13] + 0xc) <= iVar7" (pointer_expression "*(int *)(piVar47[0x13] + 0xc)" * (cast_expression "(int *)(piVar47[0x13] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47[0x13] + 0xc)" ( (binary_expression "piVar47[0x13] + 0xc" (subscript_expression "piVar47[0x13]" identifier [ number_literal ]) + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30);" (assignment_expression "pWVar42 = (WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30)" identifier = (cast_expression "(WhereInfo *)(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30)" ( (binary_expression "*(int *)(piVar47[0x13] + 0x14) + iVar7 * 0x30" (pointer_expression "*(int *)(piVar47[0x13] + 0x14)" * (cast_expression "(int *)(piVar47[0x13] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47[0x13] + 0x14)" ( (binary_expression "piVar47[0x13] + 0x14" (subscript_expression "piVar47[0x13]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "iVar7 * 0x30" identifier * number_literal)) )))) ;) }) (else_clause "else {\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }" else (compound_statement "{\n        pWVar42 = (WhereInfo *)(piVar47 + 0xc);\n        if (iVar7 != 0) goto LAB_000c6e8c;\n      }" { (expression_statement "pWVar42 = (WhereInfo *)(piVar47 + 0xc);" (assignment_expression "pWVar42 = (WhereInfo *)(piVar47 + 0xc)" identifier = (cast_expression "(WhereInfo *)(piVar47 + 0xc)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47 + 0xc)" ( (binary_expression "piVar47 + 0xc" identifier + number_literal) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000c6e8c;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) }))) (if_statement "if (pWVar42 == (WhereInfo *)0x0) goto LAB_000c6e8c;" if (parenthesized_expression "(pWVar42 == (WhereInfo *)0x0)" ( (binary_expression "pWVar42 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "uVar26 = *(ushort *)(piVar48 + 3);" (assignment_expression "uVar26 = *(ushort *)(piVar48 + 3)" identifier = (pointer_expression "*(ushort *)(piVar48 + 3)" * (cast_expression "(ushort *)(piVar48 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar48 + 3)" ( (binary_expression "piVar48 + 3" identifier + number_literal) ))))) ;) (expression_statement "pWVar49 = (WhereInfo *)(uint)uVar26;" (assignment_expression "pWVar49 = (WhereInfo *)(uint)uVar26" identifier = (cast_expression "(WhereInfo *)(uint)uVar26" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)) {\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }" if (parenthesized_expression "(((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0))" ( (binary_expression "((uVar26 & 0x3e) != 0) && ((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)" (parenthesized_expression "((uVar26 & 0x3e) != 0)" ( (binary_expression "(uVar26 & 0x3e) != 0" (parenthesized_expression "(uVar26 & 0x3e)" ( (binary_expression "uVar26 & 0x3e" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(ushort *)&pWVar42->pResultSet & 0x3e) != 0)" ( (binary_expression "(*(ushort *)&pWVar42->pResultSet & 0x3e) != 0" (parenthesized_expression "(*(ushort *)&pWVar42->pResultSet & 0x3e)" ( (binary_expression "*(ushort *)&pWVar42->pResultSet & 0x3e" (pointer_expression "*(ushort *)&pWVar42->pResultSet" * (cast_expression "(ushort *)&pWVar42->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar42->pResultSet" & (field_expression "pWVar42->pResultSet" identifier -> field_identifier)))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;\n        pWVar49 = (WhereInfo *)(uint)uVar26;\n        if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }\n      }" { (expression_statement "uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet;" (assignment_expression "uVar26 = uVar26 | *(ushort *)&pWVar42->pResultSet" identifier = (binary_expression "uVar26 | *(ushort *)&pWVar42->pResultSet" identifier | (pointer_expression "*(ushort *)&pWVar42->pResultSet" * (cast_expression "(ushort *)&pWVar42->pResultSet" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar42->pResultSet" & (field_expression "pWVar42->pResultSet" identifier -> field_identifier)))))) ;) (expression_statement "pWVar49 = (WhereInfo *)(uint)uVar26;" (assignment_expression "pWVar49 = (WhereInfo *)(uint)uVar26" identifier = (cast_expression "(WhereInfo *)(uint)uVar26" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))) {\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }" if (parenthesized_expression "((pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26)))" ( (binary_expression "(pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)) ||\n           (pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))" (parenthesized_expression "(pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a))" ( (binary_expression "pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x1a)" identifier == (cast_expression "(WhereInfo *)((uint)pWVar49 & 0x1a)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pWVar49 & 0x1a)" ( (binary_expression "(uint)pWVar49 & 0x1a" (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) )) || (parenthesized_expression "(pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26))" ( (binary_expression "pWVar49 == (WhereInfo *)((uint)pWVar49 & 0x26)" identifier == (cast_expression "(WhereInfo *)((uint)pWVar49 & 0x26)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pWVar49 & 0x26)" ( (binary_expression "(uint)pWVar49 & 0x26" (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ))) )) (compound_statement "{\n          pWVar34 = (WhereInfo *)0xffffffff;\n          iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);\n          if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }\n          piVar47 = *(int **)&pWVar52->iLimit;\n          sVar31 = *(short *)(piVar47 + 0xf);\n        }" { (expression_statement "pWVar34 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar34 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet);" (assignment_expression "iVar45 = (*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet)" identifier = (call_expression "(*(code *)pWStack_188)\n                             (0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet)" (parenthesized_expression "(*(code *)pWStack_188)" ( (pointer_expression "*(code *)pWStack_188" * (cast_expression "(code *)pWStack_188" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,*(undefined4 *)(*piVar48 + 0xc),\n                              ((WhereInfo *)pWVar42->pParse)->pResultSet)" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar48 + 0xc)" * (cast_expression "(undefined4 *)(*piVar48 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar48 + 0xc)" ( (binary_expression "*piVar48 + 0xc" (pointer_expression "*piVar48" * identifier) + number_literal) )))) , (field_expression "((WhereInfo *)pWVar42->pParse)->pResultSet" (parenthesized_expression "((WhereInfo *)pWVar42->pParse)" ( (cast_expression "(WhereInfo *)pWVar42->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar42->pParse" identifier -> field_identifier)) )) -> field_identifier) )))) ;) (if_statement "if (iVar45 == 0) {\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }" if (parenthesized_expression "(iVar45 == 0)" ( (binary_expression "iVar45 == 0" identifier == number_literal) )) (compound_statement "{\n            pWVar34 = (WhereInfo *)0xffffffff;\n            iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);\n            if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }\n          }" { (expression_statement "pWVar34 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar34 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere);" (assignment_expression "iVar45 = (*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere)" identifier = (call_expression "(*(code *)pWStack_188)\n                               (0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere)" (parenthesized_expression "(*(code *)pWStack_188)" ( (pointer_expression "*(code *)pWStack_188" * (cast_expression "(code *)pWStack_188" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,*(undefined4 *)(*piVar48 + 0x10),\n                                ((WhereInfo *)pWVar42->pParse)->pWhere)" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar48 + 0x10)" * (cast_expression "(undefined4 *)(*piVar48 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar48 + 0x10)" ( (binary_expression "*piVar48 + 0x10" (pointer_expression "*piVar48" * identifier) + number_literal) )))) , (field_expression "((WhereInfo *)pWVar42->pParse)->pWhere" (parenthesized_expression "((WhereInfo *)pWVar42->pParse)" ( (cast_expression "(WhereInfo *)pWVar42->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWVar42->pParse" identifier -> field_identifier)) )) -> field_identifier) )))) ;) (if_statement "if (iVar45 == 0) {\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }" if (parenthesized_expression "(iVar45 == 0)" ( (binary_expression "iVar45 == 0" identifier == number_literal) )) (compound_statement "{\n              if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }\n              pWVar34 = (WhereInfo *)0x0;\n              if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }\n            }" { (if_statement "if ((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)) {\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }" if (parenthesized_expression "((((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0))" ( (binary_expression "(((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0) &&\n                 (pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)" (parenthesized_expression "(((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0)" ( (binary_expression "((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49) != 0" (parenthesized_expression "((uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49)" ( (binary_expression "(uint)((int)&pWVar49[-1].a[0].notReady + 7U) & (uint)pWVar49" (call_expression "(uint)((int)&pWVar49[-1].a[0].notReady + 7U)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pWVar49[-1].a[0].notReady + 7U)" ( (binary_expression "(int)&pWVar49[-1].a[0].notReady + 7U" (cast_expression "(int)&pWVar49[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar49[-1].a[0].notReady" & (field_expression "pWVar49[-1].a[0].notReady" (subscript_expression "pWVar49[-1].a[0]" (field_expression "pWVar49[-1].a" (subscript_expression "pWVar49[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) ))) & (cast_expression "(uint)pWVar49" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) )) && (parenthesized_expression "(pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0)" ( (comma_expression "pWVar49 = (WhereInfo *)&DAT_00000020, (uVar26 & 0x18) != 0" (assignment_expression "pWVar49 = (WhereInfo *)&DAT_00000020" identifier = (cast_expression "(WhereInfo *)&DAT_00000020" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000020" & identifier))) , (binary_expression "(uVar26 & 0x18) != 0" (parenthesized_expression "(uVar26 & 0x18)" ( (binary_expression "uVar26 & 0x18" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                pWVar49 = (WhereInfo *)&DAT_00000008;\n              }" { (expression_statement "pWVar49 = (WhereInfo *)&DAT_00000008;" (assignment_expression "pWVar49 = (WhereInfo *)&DAT_00000008" identifier = (cast_expression "(WhereInfo *)&DAT_00000008" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) })) (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)) {\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }" if (parenthesized_expression "((*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0))" ( (binary_expression "(*piVar48 != 0) &&\n                 (puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)" (parenthesized_expression "(*piVar48 != 0)" ( (binary_expression "*piVar48 != 0" (pointer_expression "*piVar48" * identifier) != number_literal) )) && (parenthesized_expression "(puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0)" ( (comma_expression "puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0),\n                 puVar55 != (undefined1 *)0x0" (assignment_expression "puVar55 = (undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0)" identifier = (cast_expression "(undefined1 *)\n                            (*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)psStack_17c)\n                                      (((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0)" (parenthesized_expression "(*(code *)psStack_17c)" ( (pointer_expression "*(code *)psStack_17c" * (cast_expression "(code *)psStack_17c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(((WhereInfo *)pWC->pParse)->pParse->db,*piVar48,0)" ( (field_expression "((WhereInfo *)pWC->pParse)->pParse->db" (field_expression "((WhereInfo *)pWC->pParse)->pParse" (parenthesized_expression "((WhereInfo *)pWC->pParse)" ( (cast_expression "(WhereInfo *)pWC->pParse" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pWC->pParse" identifier -> field_identifier)) )) -> field_identifier) -> field_identifier) , (pointer_expression "*piVar48" * identifier) , number_literal ))))) , (binary_expression "puVar55 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                uVar27 = 0x35;\n                if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }\n                *puVar55 = uVar27;\n                uVar11 = (*pcStack_174)(pWC,puVar55,3);\n                (*(code *)pBStack_184)(pPVar28,pWC,uVar11);\n              }" { (expression_statement "uVar27 = 0x35;" (assignment_expression "uVar27 = 0x35" identifier = number_literal) ;) (if_statement "if (pWVar49 != (WhereInfo *)0x2) {\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }" if (parenthesized_expression "(pWVar49 != (WhereInfo *)0x2)" ( (binary_expression "pWVar49 != (WhereInfo *)0x2" identifier != (cast_expression "(WhereInfo *)0x2" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  iVar45 = 0x35;\n                  do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));\n                }" { (expression_statement "iVar45 = 0x35;" (assignment_expression "iVar45 = 0x35" identifier = number_literal) ;) (do_statement "do {\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  } while (pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)));" do (compound_statement "{\n                    uVar21 = iVar45 - 0x34;\n                    iVar45 = iVar45 + 1;\n                    uVar27 = (undefined1)iVar45;\n                  }" { (expression_statement "uVar21 = iVar45 - 0x34;" (assignment_expression "uVar21 = iVar45 - 0x34" identifier = (binary_expression "iVar45 - 0x34" identifier - number_literal)) ;) (expression_statement "iVar45 = iVar45 + 1;" (assignment_expression "iVar45 = iVar45 + 1" identifier = (binary_expression "iVar45 + 1" identifier + number_literal)) ;) (expression_statement "uVar27 = (undefined1)iVar45;" (assignment_expression "uVar27 = (undefined1)iVar45" identifier = (cast_expression "(undefined1)iVar45" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f)))" ( (binary_expression "pWVar49 != (WhereInfo *)(2 << (uVar21 & 0x1f))" identifier != (cast_expression "(WhereInfo *)(2 << (uVar21 & 0x1f))" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(2 << (uVar21 & 0x1f))" ( (binary_expression "2 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) ))) )))) )) ;) })) (expression_statement "*puVar55 = uVar27;" (assignment_expression "*puVar55 = uVar27" (pointer_expression "*puVar55" * identifier) = identifier) ;) (expression_statement "uVar11 = (*pcStack_174)(pWC,puVar55,3);" (assignment_expression "uVar11 = (*pcStack_174)(pWC,puVar55,3)" identifier = (call_expression "(*pcStack_174)(pWC,puVar55,3)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pWC,puVar55,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*(code *)pBStack_184)(pPVar28,pWC,uVar11);" (call_expression "(*(code *)pBStack_184)(pPVar28,pWC,uVar11)" (parenthesized_expression "(*(code *)pBStack_184)" ( (pointer_expression "*(code *)pBStack_184" * (cast_expression "(code *)pBStack_184" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPVar28,pWC,uVar11)" ( identifier , identifier , identifier ))) ;) })) })) })) (expression_statement "piVar47 = *(int **)&pWVar52->iLimit;" (assignment_expression "piVar47 = *(int **)&pWVar52->iLimit" identifier = (pointer_expression "*(int **)&pWVar52->iLimit" * (cast_expression "(int **)&pWVar52->iLimit" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar52->iLimit" & (field_expression "pWVar52->iLimit" identifier -> field_identifier))))) ;) (expression_statement "sVar31 = *(short *)(piVar47 + 0xf);" (assignment_expression "sVar31 = *(short *)(piVar47 + 0xf)" identifier = (pointer_expression "*(short *)(piVar47 + 0xf)" * (cast_expression "(short *)(piVar47 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar47 + 0xf)" ( (binary_expression "piVar47 + 0xf" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;) (labeled_statement "LAB_000c5cbc:\n  uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);" statement_identifier : (expression_statement "uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42);" (assignment_expression "uVar62 = (*pcStack_1b0)(pWStack_1b8,pWVar42)" identifier = (call_expression "(*pcStack_1b0)(pWStack_1b8,pWVar42)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pWStack_1b8,pWVar42)" ( identifier , identifier )))) ;)) (if_statement "if ((pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)) {\n    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);\nLAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);\n    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }\n    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);\n    iVar33 = *(int *)&pWC->iLimit;\n    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;\n    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];\n    yVar30 = pWVar29->iContinue;\n    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;\n    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;\n    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;\n    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;\n    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;\n    uVar11 = pWVar52->savedNQueryLoop;\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;\n  }" if (parenthesized_expression "((pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0))" ( (binary_expression "(pWVar29 == (WhereInfo *)0x0) ||\n     (uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)" (parenthesized_expression "(pWVar29 == (WhereInfo *)0x0)" ( (binary_expression "pWVar29 == (WhereInfo *)0x0" identifier == (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0)" ( (comma_expression "uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29), (uVar63 & uVar62) == 0" (assignment_expression "uVar63 = (*pcStack_1b0)(pWStack_1b8,pWVar29)" identifier = (call_expression "(*pcStack_1b0)(pWStack_1b8,pWVar29)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pWStack_1b8,pWVar29)" ( identifier , identifier )))) , (binary_expression "(uVar63 & uVar62) == 0" (parenthesized_expression "(uVar63 & uVar62)" ( (binary_expression "uVar63 & uVar62" identifier & identifier) )) == number_literal)) ))) )) (compound_statement "{\n    pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);\nLAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);\n    if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }\n    iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);\n    iVar33 = *(int *)&pWC->iLimit;\n    *(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;\n    *(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];\n    yVar30 = pWVar29->iContinue;\n    *(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;\n    *(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;\n    *(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;\n    *(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;\n    *(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n    *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n    pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);\n    uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;\n    uVar11 = pWVar52->savedNQueryLoop;\n    *(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;\n    *(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;\n  }" { (expression_statement "pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0);" (assignment_expression "pWVar34 = (WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0)" identifier = (cast_expression "(WhereInfo *)(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))(pWVar9,pWVar42,0,0)" (parenthesized_expression "(*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33))" ( (pointer_expression "*(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33)" * (cast_expression "(code *)(pWStack_188[-0xd].sMaskSet.ix + 0x33)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pWStack_188[-0xd].sMaskSet.ix + 0x33)" ( (binary_expression "pWStack_188[-0xd].sMaskSet.ix + 0x33" (field_expression "pWStack_188[-0xd].sMaskSet.ix" (field_expression "pWStack_188[-0xd].sMaskSet" (subscript_expression "pWStack_188[-0xd]" identifier [ number_literal ]) . field_identifier) . field_identifier) + number_literal) )))) )) (argument_list "(pWVar9,pWVar42,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) (labeled_statement "LAB_000c5d38:\n    iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);" statement_identifier : (expression_statement "iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0);" (assignment_expression "iVar45 = (*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0)" identifier = (call_expression "(*(code *)(iVar7 + 0x26b4))(pParse_00,0x2e,0)" (parenthesized_expression "(*(code *)(iVar7 + 0x26b4))" ( (pointer_expression "*(code *)(iVar7 + 0x26b4)" * (cast_expression "(code *)(iVar7 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26b4)" ( (binary_expression "iVar7 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pParse_00,0x2e,0)" ( identifier , number_literal , number_literal )))) ;)) (if_statement "if ((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)) {\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }" if (parenthesized_expression "((((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0))" ( (binary_expression "(((uint)pWVar56->pTabList & 1) != 0) && (iVar45 != 0)" (parenthesized_expression "(((uint)pWVar56->pTabList & 1) != 0)" ( (binary_expression "((uint)pWVar56->pTabList & 1) != 0" (parenthesized_expression "((uint)pWVar56->pTabList & 1)" ( (binary_expression "(uint)pWVar56->pTabList & 1" (cast_expression "(uint)pWVar56->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWVar56->pTabList" identifier -> field_identifier)) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar45 != 0)" ( (binary_expression "iVar45 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      *(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;\n    }" { (expression_statement "*(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1;" (assignment_expression "*(uint *)(iVar45 + 4) = *(uint *)(iVar45 + 4) | 1" (pointer_expression "*(uint *)(iVar45 + 4)" * (cast_expression "(uint *)(iVar45 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar45 + 4) | 1" (pointer_expression "*(uint *)(iVar45 + 4)" * (cast_expression "(uint *)(iVar45 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 4)" ( (binary_expression "iVar45 + 4" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3);" (assignment_expression "iVar45 = (*(code *)pWStack_190)(pWC,iVar45,3)" identifier = (call_expression "(*(code *)pWStack_190)(pWC,iVar45,3)" (parenthesized_expression "(*(code *)pWStack_190)" ( (pointer_expression "*(code *)pWStack_190" * (cast_expression "(code *)pWStack_190" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pWC,iVar45,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar33 = *(int *)&pWC->iLimit;" (assignment_expression "iVar33 = *(int *)&pWC->iLimit" identifier = (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) ;) (expression_statement "*(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62;" (assignment_expression "*(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20) = uVar62" (pointer_expression "*(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20)" * (cast_expression "(ulonglong *)(iVar33 + iVar45 * 0x30 + 0x20)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0x20)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0x20" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1];" (assignment_expression "*(int *)(iVar33 + iVar45 * 0x30 + 0x14) = pWVar29->aiCurOnePass[1]" (pointer_expression "*(int *)(iVar33 + iVar45 * 0x30 + 0x14)" * (cast_expression "(int *)(iVar33 + iVar45 * 0x30 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0x14)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0x14" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = (subscript_expression "pWVar29->aiCurOnePass[1]" (field_expression "pWVar29->aiCurOnePass" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "yVar30 = pWVar29->iContinue;" (assignment_expression "yVar30 = pWVar29->iContinue" identifier = (field_expression "pWVar29->iContinue" identifier -> field_identifier)) ;) (expression_statement "*(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40;" (assignment_expression "*(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc) = 0x40" (pointer_expression "*(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc)" * (cast_expression "(undefined2 *)(iVar33 + iVar45 * 0x30 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0xc)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0xc" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30;" (assignment_expression "*(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c) = yVar30" (pointer_expression "*(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c)" * (cast_expression "(ynVar *)(iVar33 + iVar45 * 0x30 + 0x1c)" ( (type_descriptor "ynVar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0x1c)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0x1c" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c;" (assignment_expression "*(char *)(iVar33 + iVar45 * 0x30 + 0xf) = (char)pWStack_18c" (pointer_expression "*(char *)(iVar33 + iVar45 * 0x30 + 0xf)" * (cast_expression "(char *)(iVar33 + iVar45 * 0x30 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0xf)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0xf" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = (cast_expression "(char)pWStack_18c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120;" (assignment_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10) = pEStack_120" (pointer_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10)" * (cast_expression "(Expr **)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10)" ( (binary_expression "*(int *)&pWC->iLimit + iVar45 * 0x30 + 0x10" (binary_expression "*(int *)&pWC->iLimit + iVar45 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);" (assignment_expression "*(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8) =\n         *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" (pointer_expression "*(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar45 * 0x30 + 8)" ( (binary_expression "*(int *)&pWC->iLimit + iVar45 * 0x30 + 8" (binary_expression "*(int *)&pWC->iLimit + iVar45 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" * (cast_expression "(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) ))))) ;) (expression_statement "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';" (assignment_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n         *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) = (binary_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit);" (assignment_expression "pWVar52 = (WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + *(int *)&pWC->iLimit)" ( (binary_expression "(int)&pWStack_19c->pParse + *(int *)&pWC->iLimit" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) )))) ;) (expression_statement "uVar14 = *(undefined4 *)&pWVar52->wctrlFlags;" (assignment_expression "uVar14 = *(undefined4 *)&pWVar52->wctrlFlags" identifier = (pointer_expression "*(undefined4 *)&pWVar52->wctrlFlags" * (cast_expression "(undefined4 *)&pWVar52->wctrlFlags" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar52->wctrlFlags" & (field_expression "pWVar52->wctrlFlags" identifier -> field_identifier))))) ;) (expression_statement "uVar11 = pWVar52->savedNQueryLoop;" (assignment_expression "uVar11 = pWVar52->savedNQueryLoop" identifier = (field_expression "pWVar52->savedNQueryLoop" identifier -> field_identifier)) ;) (expression_statement "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8;" (assignment_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) = *(u16 *)((int)&pWVar52->pOrderBy + 2) | 8" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2) | 8" (pointer_expression "*(u16 *)((int)&pWVar52->pOrderBy + 2)" * (cast_expression "(u16 *)((int)&pWVar52->pOrderBy + 2)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar52->pOrderBy + 2)" ( (binary_expression "(int)&pWVar52->pOrderBy + 2" (cast_expression "(int)&pWVar52->pOrderBy" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar52->pOrderBy" & (field_expression "pWVar52->pOrderBy" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14;" (assignment_expression "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c) = uVar14" (pointer_expression "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c)" * (cast_expression "(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0x2c)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0x2c" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11;" (assignment_expression "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28) = uVar11" (pointer_expression "*(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28)" * (cast_expression "(undefined4 *)(iVar33 + iVar45 * 0x30 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + iVar45 * 0x30 + 0x28)" ( (binary_expression "iVar33 + iVar45 * 0x30 + 0x28" (binary_expression "iVar33 + iVar45 * 0x30" identifier + (binary_expression "iVar45 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000c5d04;" goto statement_identifier ;) (labeled_statement "LAB_000c5efc:\n  (pWVar52->sWC).aStatic[6].leftCursor = 0;" statement_identifier : (expression_statement "(pWVar52->sWC).aStatic[6].leftCursor = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].leftCursor = 0" (field_expression "(pWVar52->sWC).aStatic[6].leftCursor" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;)) (expression_statement "(pWVar52->sWC).aStatic[6].iParent = 0;" (assignment_expression "(pWVar52->sWC).aStatic[6].iParent = 0" (field_expression "(pWVar52->sWC).aStatic[6].iParent" (subscript_expression "(pWVar52->sWC).aStatic[6]" (field_expression "(pWVar52->sWC).aStatic" (parenthesized_expression "(pWVar52->sWC)" ( (field_expression "pWVar52->sWC" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) . field_identifier) = number_literal) ;) (labeled_statement "LAB_000c5f04:\n  pWStack_18c = (WhereInfo *)BVar61;" statement_identifier : (expression_statement "pWStack_18c = (WhereInfo *)BVar61;" (assignment_expression "pWStack_18c = (WhereInfo *)BVar61" identifier = (cast_expression "(WhereInfo *)BVar61" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*(undefined2 *)((int)pWStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)((int)pWStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)((int)pWStack_18c + 0xc)" * (cast_expression "(undefined2 *)((int)pWStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_18c + 0xc)" ( (binary_expression "(int)pWStack_18c + 0xc" (cast_expression "(int)pWStack_18c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000c5b6c:\n  pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);" statement_identifier : (expression_statement "pWStack_190 = (WhereInfo *)(BVar61 >> 0x20);" (assignment_expression "pWStack_190 = (WhereInfo *)(BVar61 >> 0x20)" identifier = (cast_expression "(WhereInfo *)(BVar61 >> 0x20)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BVar61 >> 0x20)" ( (binary_expression "BVar61 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "pWStack_18c = (WhereInfo *)BVar61;" (assignment_expression "pWStack_18c = (WhereInfo *)BVar61" identifier = (cast_expression "(WhereInfo *)BVar61" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pWVar29 = pWVar42;" (assignment_expression "pWVar29 = pWVar42" identifier = identifier) ;) (expression_statement "jumpIfNull = (int)pWVar44;" (assignment_expression "jumpIfNull = (int)pWVar44" identifier = (cast_expression "(int)pWVar44" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar32 != 0 || in_t4 != (WhereInfo *)0x0) {\n    pEVar37 = pWVar52->pResultSet;\n    jumpIfNull = (int)in_t4;\n    pWVar29 = pWVar52;\n    psStack_17c = psVar53;\nLAB_000c5b7c:\n    pWVar42 = pWStack_1a4;\n    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n    pWVar49 = (WhereInfo *)0x0;\n    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    pWVar34 = (WhereInfo *)0xffffffff;\n    in_t4 = (WhereInfo *)jumpIfNull;\n    psVar53 = psStack_17c;\nLAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);\n    piVar47 = *(int **)&pWVar29->iLimit;\n    pWStack_190 = pWC;\n    if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(uVar32 != 0 || in_t4 != (WhereInfo *)0x0)" ( (binary_expression "uVar32 != 0 || in_t4 != (WhereInfo *)0x0" (binary_expression "uVar32 != 0" identifier != number_literal) || (binary_expression "in_t4 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    pEVar37 = pWVar52->pResultSet;\n    jumpIfNull = (int)in_t4;\n    pWVar29 = pWVar52;\n    psStack_17c = psVar53;\nLAB_000c5b7c:\n    pWVar42 = pWStack_1a4;\n    pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);\n    pWVar49 = (WhereInfo *)0x0;\n    pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);\n    pWVar34 = (WhereInfo *)0xffffffff;\n    in_t4 = (WhereInfo *)jumpIfNull;\n    psVar53 = psStack_17c;\nLAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);\n    piVar47 = *(int **)&pWVar29->iLimit;\n    pWStack_190 = pWC;\n    if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }\n  }" { (expression_statement "pEVar37 = pWVar52->pResultSet;" (assignment_expression "pEVar37 = pWVar52->pResultSet" identifier = (field_expression "pWVar52->pResultSet" identifier -> field_identifier)) ;) (expression_statement "jumpIfNull = (int)in_t4;" (assignment_expression "jumpIfNull = (int)in_t4" identifier = (cast_expression "(int)in_t4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pWVar29 = pWVar52;" (assignment_expression "pWVar29 = pWVar52" identifier = identifier) ;) (expression_statement "psStack_17c = psVar53;" (assignment_expression "psStack_17c = psVar53" identifier = identifier) ;) (labeled_statement "LAB_000c5b7c:\n    pWVar42 = pWStack_1a4;" statement_identifier : (expression_statement "pWVar42 = pWStack_1a4;" (assignment_expression "pWVar42 = pWStack_1a4" identifier = identifier) ;)) (expression_statement "pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914);" (assignment_expression "pWStack_18c = (WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar57 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar57 + 0x96b94)" * (cast_expression "(int *)(puVar57 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96b94)" ( (binary_expression "puVar57 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pWVar49 = (WhereInfo *)0x0;" (assignment_expression "pWVar49 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c);" (assignment_expression "pBStack_184 = (Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(Bitmask *)(*(int *)(puVar57 + 0x96c4c) + -0x429c)" ( (type_descriptor "Bitmask *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar57 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar57 + 0x96c4c)" * (cast_expression "(int *)(puVar57 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c4c)" ( (binary_expression "puVar57 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pWVar34 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar34 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (WhereInfo *)jumpIfNull;" (assignment_expression "in_t4 = (WhereInfo *)jumpIfNull" identifier = (cast_expression "(WhereInfo *)jumpIfNull" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar53 = psStack_17c;" (assignment_expression "psVar53 = psStack_17c" identifier = identifier) ;) (labeled_statement "LAB_000c5bb0:\n    puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);" statement_identifier : (expression_statement "puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3);" (assignment_expression "puVar55 = (undefined1 *)((int)&pEVar37[-1].a[0].u + 3)" identifier = (cast_expression "(undefined1 *)((int)&pEVar37[-1].a[0].u + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar37[-1].a[0].u + 3)" ( (binary_expression "(int)&pEVar37[-1].a[0].u + 3" (cast_expression "(int)&pEVar37[-1].a[0].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar37[-1].a[0].u" & (field_expression "pEVar37[-1].a[0].u" (subscript_expression "pEVar37[-1].a[0]" (field_expression "pEVar37[-1].a" (subscript_expression "pEVar37[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;)) (expression_statement "piVar47 = *(int **)&pWVar29->iLimit;" (assignment_expression "piVar47 = *(int **)&pWVar29->iLimit" identifier = (pointer_expression "*(int **)&pWVar29->iLimit" * (cast_expression "(int **)&pWVar29->iLimit" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar29->iLimit" & (field_expression "pWVar29->iLimit" identifier -> field_identifier))))) ;) (expression_statement "pWStack_190 = pWC;" (assignment_expression "pWStack_190 = pWC" identifier = identifier) ;) (if_statement "if (-1 < (int)puVar55) {\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < (int)puVar55)" ( (binary_expression "-1 < (int)puVar55" number_literal < (cast_expression "(int)puVar55" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      in_t5 = (WhereInfo *)0x1;\n      in_t4 = (WhereInfo *)0xffffffff;\n      do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );\n    }" { (expression_statement "in_t5 = (WhereInfo *)0x1;" (assignment_expression "in_t5 = (WhereInfo *)0x1" identifier = (cast_expression "(WhereInfo *)0x1" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (WhereInfo *)0xffffffff;" (assignment_expression "in_t4 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      } while( true );" do (compound_statement "{\n        pWVar52 = (WhereInfo *)piVar47[5];\n        *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;\n        if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        puVar55 = puVar55 + -1;\n        piVar47 = piVar47 + 0xc;\n        if (puVar55 == (undefined1 *)0xffffffff) break;\n      }" { (expression_statement "pWVar52 = (WhereInfo *)piVar47[5];" (assignment_expression "pWVar52 = (WhereInfo *)piVar47[5]" identifier = (cast_expression "(WhereInfo *)piVar47[5]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar47[5]" identifier [ number_literal ]))) ;) (expression_statement "*(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar47 + 10)" * (cast_expression "(ushort *)((int)piVar47 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 10)" ( (binary_expression "(int)piVar47 + 10" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar47 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar47 + 10)" * (cast_expression "(ushort *)((int)piVar47 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 10)" ( (binary_expression "(int)piVar47 + 10" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)) {\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }" if (parenthesized_expression "((pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7))" ( (binary_expression "(pWVar52 != pWVar34) && (iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)" (parenthesized_expression "(pWVar52 != pWVar34)" ( (binary_expression "pWVar52 != pWVar34" identifier != identifier) )) && (parenthesized_expression "(iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7)" ( (comma_expression "iVar7 = (pWStack_1a4->sMaskSet).n, 0 < iVar7" (assignment_expression "iVar7 = (pWStack_1a4->sMaskSet).n" identifier = (field_expression "(pWStack_1a4->sMaskSet).n" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "0 < iVar7" number_literal < identifier)) ))) )) (compound_statement "{\n          piVar48 = (pWStack_1a4->sMaskSet).ix;\n          if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }\n          uVar25 = 1 << (uVar21 & 0x1f);\n          if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }\n          if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;\n        }" { (expression_statement "piVar48 = (pWStack_1a4->sMaskSet).ix;" (assignment_expression "piVar48 = (pWStack_1a4->sMaskSet).ix" identifier = (field_expression "(pWStack_1a4->sMaskSet).ix" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }" if (parenthesized_expression "(pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0])" ( (binary_expression "pWVar52 == (WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]" identifier == (cast_expression "(WhereInfo *)(pWStack_1a4->sMaskSet).ix[0]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pWStack_1a4->sMaskSet).ix[0]" (field_expression "(pWStack_1a4->sMaskSet).ix" (parenthesized_expression "(pWStack_1a4->sMaskSet)" ( (field_expression "pWStack_1a4->sMaskSet" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) )) (compound_statement "{\n            uVar21 = 0;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }" else (compound_statement "{\n            uVar21 = 0;\n            do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            } while (pWVar52 != (WhereInfo *)*piVar48);" do (compound_statement "{\n              piVar48 = piVar48 + 1;\n              uVar21 = uVar21 + 1;\n              if (uVar21 == iVar7) goto LAB_000c5c1c;\n            }" { (expression_statement "piVar48 = piVar48 + 1;" (assignment_expression "piVar48 = piVar48 + 1" identifier = (binary_expression "piVar48 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == iVar7) goto LAB_000c5c1c;" if (parenthesized_expression "(uVar21 == iVar7)" ( (binary_expression "uVar21 == iVar7" identifier == identifier) )) (goto_statement "goto LAB_000c5c1c;" goto statement_identifier ;)) }) while (parenthesized_expression "(pWVar52 != (WhereInfo *)*piVar48)" ( (binary_expression "pWVar52 != (WhereInfo *)*piVar48" identifier != (cast_expression "(WhereInfo *)*piVar48" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar48" * identifier))) )) ;) }))) (expression_statement "uVar25 = 1 << (uVar21 & 0x1f);" (assignment_expression "uVar25 = 1 << (uVar21 & 0x1f)" identifier = (binary_expression "1 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar21 & 0x20) == 0) {\n            uVar21 = 0;\n          }\n          else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar21 = 0;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }" else (compound_statement "{\n            uVar21 = uVar25;\n            uVar25 = 0;\n          }" { (expression_statement "uVar21 = uVar25;" (assignment_expression "uVar21 = uVar25" identifier = identifier) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) }))) (if_statement "if ((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0) goto code_r0x000c6748;" if (parenthesized_expression "((uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0)" ( (binary_expression "(uVar21 & uVar32) != 0 || (uVar25 & jumpIfNull) != 0" (binary_expression "(uVar21 & uVar32) != 0" (parenthesized_expression "(uVar21 & uVar32)" ( (binary_expression "uVar21 & uVar32" identifier & identifier) )) != number_literal) || (binary_expression "(uVar25 & jumpIfNull) != 0" (parenthesized_expression "(uVar25 & jumpIfNull)" ( (binary_expression "uVar25 & jumpIfNull" identifier & identifier) )) != number_literal)) )) (goto_statement "goto code_r0x000c6748;" goto statement_identifier ;)) })) (labeled_statement "LAB_000c5c1c:\n        puVar55 = puVar55 + -1;" statement_identifier : (expression_statement "puVar55 = puVar55 + -1;" (assignment_expression "puVar55 = puVar55 + -1" identifier = (binary_expression "puVar55 + -1" identifier + number_literal)) ;)) (expression_statement "piVar47 = piVar47 + 0xc;" (assignment_expression "piVar47 = piVar47 + 0xc" identifier = (binary_expression "piVar47 + 0xc" identifier + number_literal)) ;) (if_statement "if (puVar55 == (undefined1 *)0xffffffff) break;" if (parenthesized_expression "(puVar55 == (undefined1 *)0xffffffff)" ( (binary_expression "puVar55 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_000c5c2c:\n  uVar60 = CONCAT44(pWStack_1a4,pWVar49);" statement_identifier : (expression_statement "uVar60 = CONCAT44(pWStack_1a4,pWVar49);" (assignment_expression "uVar60 = CONCAT44(pWStack_1a4,pWVar49)" identifier = (call_expression "CONCAT44(pWStack_1a4,pWVar49)" identifier (argument_list "(pWStack_1a4,pWVar49)" ( identifier , identifier )))) ;)) (expression_statement "pWVar42 = pWVar29;" (assignment_expression "pWVar42 = pWVar29" identifier = identifier) ;) (expression_statement "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr);" (assignment_expression "pWVar44 = (WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr)" identifier = (cast_expression "(WhereInfo *)((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr)" ( (binary_expression "(int)&pWStack_19c->pParse + (int)&(*(WhereTerm **)&pWC->iLimit)->pExpr" (cast_expression "(int)&pWStack_19c->pParse" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWStack_19c->pParse" & (field_expression "pWStack_19c->pParse" identifier -> field_identifier))) + (cast_expression "(int)&(*(WhereTerm **)&pWC->iLimit)->pExpr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(*(WhereTerm **)&pWC->iLimit)->pExpr" & (field_expression "(*(WhereTerm **)&pWC->iLimit)->pExpr" (parenthesized_expression "(*(WhereTerm **)&pWC->iLimit)" ( (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )) -> field_identifier)))) )))) ;) (expression_statement "BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit);" (assignment_expression "BVar64 = CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit)" identifier = (call_expression "CONCAT44(pWVar41,*(WhereTerm **)&pWC->iLimit)" identifier (argument_list "(pWVar41,*(WhereTerm **)&pWC->iLimit)" ( identifier , (pointer_expression "*(WhereTerm **)&pWC->iLimit" * (cast_expression "(WhereTerm **)&pWC->iLimit" ( (type_descriptor "WhereTerm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) )))) ;) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) (labeled_statement "LAB_000c5b24:\n  pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);" statement_identifier : (expression_statement "pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7);" (assignment_expression "pWVar49 = (WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7)" identifier = (cast_expression "(WhereInfo *)((int)&pWVar49[-1].a[0].notReady + 7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pWVar49[-1].a[0].notReady + 7)" ( (binary_expression "(int)&pWVar49[-1].a[0].notReady + 7" (cast_expression "(int)&pWVar49[-1].a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar49[-1].a[0].notReady" & (field_expression "pWVar49[-1].a[0].notReady" (subscript_expression "pWVar49[-1].a[0]" (field_expression "pWVar49[-1].a" (subscript_expression "pWVar49[-1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal) )))) ;)) (expression_statement "pWVar44 = (WhereInfo *)&pWVar44->sorted;" (assignment_expression "pWVar44 = (WhereInfo *)&pWVar44->sorted" identifier = (cast_expression "(WhereInfo *)&pWVar44->sorted" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar44->sorted" & (field_expression "pWVar44->sorted" identifier -> field_identifier)))) ;) (if_statement "if (pWVar49 == pWVar42) goto LAB_000c5b30;" if (parenthesized_expression "(pWVar49 == pWVar42)" ( (binary_expression "pWVar49 == pWVar42" identifier == identifier) )) (goto_statement "goto LAB_000c5b30;" goto statement_identifier ;)) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) (labeled_statement "code_r0x000c6748:\n  psVar53 = (sqlite3 *)piVar47[7];" statement_identifier : (expression_statement "psVar53 = (sqlite3 *)piVar47[7];" (assignment_expression "psVar53 = (sqlite3 *)piVar47[7]" identifier = (cast_expression "(sqlite3 *)piVar47[7]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar47[7]" identifier [ number_literal ]))) ;)) (expression_statement "pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc);" (assignment_expression "pWStack_188 = *(WhereInfo **)(*piVar47 + 0xc)" identifier = (pointer_expression "*(WhereInfo **)(*piVar47 + 0xc)" * (cast_expression "(WhereInfo **)(*piVar47 + 0xc)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar47 + 0xc)" ( (binary_expression "*piVar47 + 0xc" (pointer_expression "*piVar47" * identifier) + number_literal) ))))) ;) (labeled_statement "LAB_000c6784:\n  if (psVar53 == (sqlite3 *)piVar47[7]) {\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" statement_identifier : (if_statement "if (psVar53 == (sqlite3 *)piVar47[7]) {\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" if (parenthesized_expression "(psVar53 == (sqlite3 *)piVar47[7])" ( (binary_expression "psVar53 == (sqlite3 *)piVar47[7]" identifier == (cast_expression "(sqlite3 *)piVar47[7]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar47[7]" identifier [ number_literal ]))) )) (compound_statement "{\n    iVar7 = *piVar47;\n    if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }\n    pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));\n    pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" { (expression_statement "iVar7 = *piVar47;" (assignment_expression "iVar7 = *piVar47" identifier = (pointer_expression "*piVar47" * identifier)) ;) (if_statement "if (psVar53 == (sqlite3 *)&SUB_fffffffe) {\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }" if (parenthesized_expression "(psVar53 == (sqlite3 *)&SUB_fffffffe)" ( (binary_expression "psVar53 == (sqlite3 *)&SUB_fffffffe" identifier == (cast_expression "(sqlite3 *)&SUB_fffffffe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_fffffffe" & identifier))) )) (compound_statement "{\n      pWVar34 = (WhereInfo *)0xffffffff;\n      iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);\n      if (iVar7 != 0) goto LAB_000c6790;\n      iVar7 = *piVar47;\n    }" { (expression_statement "pWVar34 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar34 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188);" (assignment_expression "iVar7 = (*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188)" identifier = (call_expression "(*(code *)pBStack_184)(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188)" (parenthesized_expression "(*(code *)pBStack_184)" ( (pointer_expression "*(code *)pBStack_184" * (cast_expression "(code *)pBStack_184" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pPStack_180,*(undefined4 *)(iVar7 + 0xc),pWStack_188)" ( identifier , (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_000c6790;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6790;" goto statement_identifier ;)) (expression_statement "iVar7 = *piVar47;" (assignment_expression "iVar7 = *piVar47" identifier = (pointer_expression "*piVar47" * identifier)) ;) })) (expression_statement "pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10));" (assignment_expression "pcStack_174 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10))" identifier = (cast_expression "(code *)(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pWStack_18c)(*(undefined4 *)(iVar7 + 0x10))" (parenthesized_expression "(*(code *)pWStack_18c)" ( (pointer_expression "*(code *)pWStack_18c" * (cast_expression "(code *)pWStack_18c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc));" (assignment_expression "pcVar59 = (code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc))" identifier = (cast_expression "(code *)(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pWStack_18c)(*(undefined4 *)(*piVar47 + 0xc))" (parenthesized_expression "(*(code *)pWStack_18c)" ( (pointer_expression "*(code *)pWStack_18c" * (cast_expression "(code *)pWStack_18c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*piVar47 + 0xc))" ( (pointer_expression "*(undefined4 *)(*piVar47 + 0xc)" * (cast_expression "(undefined4 *)(*piVar47 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar47 + 0xc)" ( (binary_expression "*piVar47 + 0xc" (pointer_expression "*piVar47" * identifier) + number_literal) )))) ))))) ;) (if_statement "if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)) {\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }" if (parenthesized_expression "((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59))" ( (binary_expression "(pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar59)" (parenthesized_expression "(pcStack_174 == (code *)0x0)" ( (binary_expression "pcStack_174 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcStack_174 == pcVar59)" ( (binary_expression "pcStack_174 == pcVar59" identifier == identifier) ))) )) (compound_statement "{\n      *(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;\n      piVar48 = piVar47;\nLAB_000c6768:\n      puVar55 = puVar55 + -1;\n      piVar47 = piVar48 + 0xc;\n      if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;\n      piVar47 = *(int **)&pWVar29->iLimit;\n      if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar33 = *(int *)(puVar57 + 0x96c38);\n      pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);\n      *(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;\n      iVar45 = pWStack_178->iBreak;\n      *(WhereInfo **)(iVar7 + 0x14) = pWVar52;\n      *(short *)(iVar7 + 0x26) = (short)iVar45;\n      iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);\n      exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);\n      *(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;\n      pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);\n      *(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);\n      *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';\n      psVar53 = psStack_17c;\n      goto LAB_000c5c2c;\n    }" { (expression_statement "*(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40;" (assignment_expression "*(ushort *)((int)piVar47 + 10) = *(ushort *)((int)piVar47 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar47 + 10)" * (cast_expression "(ushort *)((int)piVar47 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 10)" ( (binary_expression "(int)piVar47 + 10" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar47 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar47 + 10)" * (cast_expression "(ushort *)((int)piVar47 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 10)" ( (binary_expression "(int)piVar47 + 10" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "piVar48 = piVar47;" (assignment_expression "piVar48 = piVar47" identifier = identifier) ;) (labeled_statement "LAB_000c6768:\n      puVar55 = puVar55 + -1;" statement_identifier : (expression_statement "puVar55 = puVar55 + -1;" (assignment_expression "puVar55 = puVar55 + -1" identifier = (binary_expression "puVar55 + -1" identifier + number_literal)) ;)) (expression_statement "piVar47 = piVar48 + 0xc;" (assignment_expression "piVar47 = piVar48 + 0xc" identifier = (binary_expression "piVar48 + 0xc" identifier + number_literal)) ;) (if_statement "if (puVar55 != (undefined1 *)0xffffffff) {\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" if (parenthesized_expression "(puVar55 != (undefined1 *)0xffffffff)" ( (binary_expression "puVar55 != (undefined1 *)0xffffffff" identifier != (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" { (if_statement "if (pWVar52 != (WhereInfo *)piVar48[0x11]) goto LAB_000c675c;" if (parenthesized_expression "(pWVar52 != (WhereInfo *)piVar48[0x11])" ( (binary_expression "pWVar52 != (WhereInfo *)piVar48[0x11]" identifier != (cast_expression "(WhereInfo *)piVar48[0x11]" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar48[0x11]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000c675c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6784;" goto statement_identifier ;) })) (expression_statement "jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3;" (assignment_expression "jumpIfNull = (int)&pWVar29->pResultSet[-1].a[0].u + 3" identifier = (binary_expression "(int)&pWVar29->pResultSet[-1].a[0].u + 3" (cast_expression "(int)&pWVar29->pResultSet[-1].a[0].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pWVar29->pResultSet[-1].a[0].u" & (field_expression "pWVar29->pResultSet[-1].a[0].u" (subscript_expression "pWVar29->pResultSet[-1].a[0]" (field_expression "pWVar29->pResultSet[-1].a" (subscript_expression "pWVar29->pResultSet[-1]" (field_expression "pWVar29->pResultSet" identifier -> field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier))) + number_literal)) ;) (expression_statement "piVar47 = *(int **)&pWVar29->iLimit;" (assignment_expression "piVar47 = *(int **)&pWVar29->iLimit" identifier = (pointer_expression "*(int **)&pWVar29->iLimit" * (cast_expression "(int **)&pWVar29->iLimit" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pWVar29->iLimit" & (field_expression "pWVar29->iLimit" identifier -> field_identifier))))) ;) (if_statement "if (jumpIfNull < 0) {\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }\n      else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" if (parenthesized_expression "(jumpIfNull < 0)" ( (binary_expression "jumpIfNull < 0" identifier < number_literal) )) (compound_statement "{\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);\n        psVar53 = psStack_17c;\n        if (iVar7 == 0) goto LAB_000c5c2c;\n        pWVar52 = (WhereInfo *)0x0;\n      }" { (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pPStack_180,0x31,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "psVar53 = psStack_17c;" (assignment_expression "psVar53 = psStack_17c" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_000c5c2c;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pWVar52 = (WhereInfo *)0x0;" (assignment_expression "pWVar52 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" else (compound_statement "{\n        iVar45 = *(int *)(puVar57 + 0x96c38);\n        iVar7 = 0;\n        pWVar52 = (WhereInfo *)0x0;\n        pWVar49 = (WhereInfo *)0xffffffff;\n        pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);\n        if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }\n        pWVar34 = (WhereInfo *)0x0;\n        iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);\n        jumpIfNull = (int)pWC;\n        if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" { (expression_statement "iVar45 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar45 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pWVar52 = (WhereInfo *)0x0;" (assignment_expression "pWVar52 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar49 = (WhereInfo *)0xffffffff;" (assignment_expression "pWVar49 = (WhereInfo *)0xffffffff" identifier = (cast_expression "(WhereInfo *)0xffffffff" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c);" (assignment_expression "pWVar29 = (WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c)" identifier = (cast_expression "(WhereInfo *)(*(int *)(puVar57 + 0x96c48) + -0x52c)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c48) + -0x52c)" ( (binary_expression "*(int *)(puVar57 + 0x96c48) + -0x52c" (pointer_expression "*(int *)(puVar57 + 0x96c48)" * (cast_expression "(int *)(puVar57 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c48)" ( (binary_expression "puVar57 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        } while ((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff);" do (compound_statement "{\n          if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }\n          jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;\n          piVar47 = piVar47 + 0xc;\n        }" { (if_statement "if ((*(ushort *)((int)piVar47 + 10) & 0x40) != 0) {\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }" if (parenthesized_expression "((*(ushort *)((int)piVar47 + 10) & 0x40) != 0)" ( (binary_expression "(*(ushort *)((int)piVar47 + 10) & 0x40) != 0" (parenthesized_expression "(*(ushort *)((int)piVar47 + 10) & 0x40)" ( (binary_expression "*(ushort *)((int)piVar47 + 10) & 0x40" (pointer_expression "*(ushort *)((int)piVar47 + 10)" * (cast_expression "(ushort *)((int)piVar47 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar47 + 10)" ( (binary_expression "(int)piVar47 + 10" (cast_expression "(int)piVar47" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar7 = *(int *)(*piVar47 + 0x10);\n            if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }\n            pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);\n            iVar7 = *(int *)(*piVar47 + 0xc);\n          }" { (expression_statement "iVar7 = *(int *)(*piVar47 + 0x10);" (assignment_expression "iVar7 = *(int *)(*piVar47 + 0x10)" identifier = (pointer_expression "*(int *)(*piVar47 + 0x10)" * (cast_expression "(int *)(*piVar47 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar47 + 0x10)" ( (binary_expression "*piVar47 + 0x10" (pointer_expression "*piVar47" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);\n              pWStack_1a4 = pWVar52;\n            }" { (expression_statement "iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0);" (assignment_expression "iVar7 = (*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0)" identifier = (call_expression "(*(code *)(iVar45 + -0x271c))(psStack_17c,iVar7,0,0)" (parenthesized_expression "(*(code *)(iVar45 + -0x271c))" ( (pointer_expression "*(code *)(iVar45 + -0x271c)" * (cast_expression "(code *)(iVar45 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x271c)" ( (binary_expression "iVar45 + -0x271c" identifier + number_literal) )))) )) (argument_list "(psStack_17c,iVar7,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pWStack_1a4 = pWVar52;" (assignment_expression "pWStack_1a4 = pWVar52" identifier = identifier) ;) })) (expression_statement "pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7);" (assignment_expression "pWVar52 = (WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7)" identifier = (cast_expression "(WhereInfo *)(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pWVar29)(pWVar42->pParse->db,pWVar52,iVar7)" (parenthesized_expression "(*(code *)pWVar29)" ( (pointer_expression "*(code *)pWVar29" * (cast_expression "(code *)pWVar29" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pWVar42->pParse->db,pWVar52,iVar7)" ( (field_expression "pWVar42->pParse->db" (field_expression "pWVar42->pParse" identifier -> field_identifier) -> field_identifier) , identifier , identifier ))))) ;) (expression_statement "iVar7 = *(int *)(*piVar47 + 0xc);" (assignment_expression "iVar7 = *(int *)(*piVar47 + 0xc)" identifier = (pointer_expression "*(int *)(*piVar47 + 0xc)" * (cast_expression "(int *)(*piVar47 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar47 + 0xc)" ( (binary_expression "*piVar47 + 0xc" (pointer_expression "*piVar47" * identifier) + number_literal) ))))) ;) })) (expression_statement "jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7;" (assignment_expression "jumpIfNull = (int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7" identifier = (binary_expression "(int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady + 7" (cast_expression "(int)&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady" & (field_expression "((WhereInfo *)(jumpIfNull + -0x338))->a[0].notReady" (subscript_expression "((WhereInfo *)(jumpIfNull + -0x338))->a[0]" (field_expression "((WhereInfo *)(jumpIfNull + -0x338))->a" (parenthesized_expression "((WhereInfo *)(jumpIfNull + -0x338))" ( (cast_expression "(WhereInfo *)(jumpIfNull + -0x338)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(jumpIfNull + -0x338)" ( (binary_expression "jumpIfNull + -0x338" identifier + number_literal) ))) )) -> field_identifier) [ number_literal ]) . field_identifier))) + number_literal)) ;) (expression_statement "piVar47 = piVar47 + 0xc;" (assignment_expression "piVar47 = piVar47 + 0xc" identifier = (binary_expression "piVar47 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined1 *)jumpIfNull != (undefined1 *)0xffffffff)" ( (binary_expression "(undefined1 *)jumpIfNull != (undefined1 *)0xffffffff" (cast_expression "(undefined1 *)jumpIfNull" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar7 != 0) {\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);\n        }" { (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))(psStack_17c,iVar7,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar57 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psStack_17c,iVar7,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) })) (expression_statement "pWVar34 = (WhereInfo *)0x0;" (assignment_expression "pWVar34 = (WhereInfo *)0x0" identifier = (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7)" identifier = (call_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))(pPStack_180,0x31,iVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar57 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar57 + 0x96c78)" * (cast_expression "(int *)(puVar57 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c78)" ( (binary_expression "puVar57 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pPStack_180,0x31,iVar7)" ( identifier , number_literal , identifier )))) ;) (expression_statement "jumpIfNull = (int)pWC;" (assignment_expression "jumpIfNull = (int)pWC" identifier = (cast_expression "(int)pWC" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          psVar53 = psStack_17c;\n          if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }\n          goto LAB_000c5c2c;\n        }" { (expression_statement "psVar53 = psStack_17c;" (assignment_expression "psVar53 = psStack_17c" identifier = identifier) ;) (if_statement "if (pWVar52 != (WhereInfo *)0x0) {\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }" if (parenthesized_expression "(pWVar52 != (WhereInfo *)0x0)" ( (binary_expression "pWVar52 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);\n          }" { (expression_statement "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52);" (call_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))(psStack_17c,pWVar52)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30)" * (cast_expression "(code *)(*(int *)(puVar57 + 0x96bf8) + 0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0x96bf8) + 0x7d30)" ( (binary_expression "*(int *)(puVar57 + 0x96bf8) + 0x7d30" (pointer_expression "*(int *)(puVar57 + 0x96bf8)" * (cast_expression "(int *)(puVar57 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96bf8)" ( (binary_expression "puVar57 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psStack_17c,pWVar52)" ( identifier , identifier ))) ;) })) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (expression_statement "iVar33 = *(int *)(puVar57 + 0x96c38);" (assignment_expression "iVar33 = *(int *)(puVar57 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar57 + 0x96c38)" * (cast_expression "(int *)(puVar57 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0x96c38)" ( (binary_expression "puVar57 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1);" (assignment_expression "pWVar34 = (WhereInfo *)((uint)pWStack_178->pTabList & 1)" identifier = (cast_expression "(WhereInfo *)((uint)pWStack_178->pTabList & 1)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pWStack_178->pTabList & 1)" ( (binary_expression "(uint)pWStack_178->pTabList & 1" (cast_expression "(uint)pWStack_178->pTabList" ( (type_descriptor "uint" type_identifier) ) (field_expression "pWStack_178->pTabList" identifier -> field_identifier)) & number_literal) )))) ;) (expression_statement "*(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34;" (assignment_expression "*(uint *)(iVar7 + 4) = *(uint *)(iVar7 + 4) | (uint)pWVar34" (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar7 + 4) | (uint)pWVar34" (pointer_expression "*(uint *)(iVar7 + 4)" * (cast_expression "(uint *)(iVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) | (cast_expression "(uint)pWVar34" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar45 = pWStack_178->iBreak;" (assignment_expression "iVar45 = pWStack_178->iBreak" identifier = (field_expression "pWStack_178->iBreak" identifier -> field_identifier)) ;) (expression_statement "*(WhereInfo **)(iVar7 + 0x14) = pWVar52;" (assignment_expression "*(WhereInfo **)(iVar7 + 0x14) = pWVar52" (pointer_expression "*(WhereInfo **)(iVar7 + 0x14)" * (cast_expression "(WhereInfo **)(iVar7 + 0x14)" ( (type_descriptor "WhereInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(iVar7 + 0x26) = (short)iVar45;" (assignment_expression "*(short *)(iVar7 + 0x26) = (short)iVar45" (pointer_expression "*(short *)(iVar7 + 0x26)" * (cast_expression "(short *)(iVar7 + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x26)" ( (binary_expression "iVar7 + 0x26" identifier + number_literal) )))) = (cast_expression "(short)iVar45" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3);" (assignment_expression "iVar7 = (*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3)" identifier = (call_expression "(*(code *)(iVar33 + -0x73f4))(pWC,iVar7,3)" (parenthesized_expression "(*(code *)(iVar33 + -0x73f4))" ( (pointer_expression "*(code *)(iVar33 + -0x73f4)" * (cast_expression "(code *)(iVar33 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + -0x73f4)" ( (binary_expression "iVar33 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pWC,iVar7,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7);" (call_expression "exprAnalyze((SrcList *)pPVar28,(WhereClause *)pWC,iVar7)" identifier (argument_list "((SrcList *)pPVar28,(WhereClause *)pWC,iVar7)" ( (cast_expression "(SrcList *)pPVar28" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(WhereClause *)pWC" ( (type_descriptor "WhereClause *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "*(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120;" (assignment_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10) = pEStack_120" (pointer_expression "*(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10)" * (cast_expression "(Expr **)(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10)" ( (type_descriptor "Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10)" ( (binary_expression "*(int *)&pWC->iLimit + iVar7 * 0x30 + 0x10" (binary_expression "*(int *)&pWC->iLimit + iVar7 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar7 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30);" (assignment_expression "pWVar29 = (WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30)" identifier = (cast_expression "(WhereInfo *)(*(int *)&pWC->iLimit + iVar7 * 0x30)" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pWC->iLimit + iVar7 * 0x30)" ( (binary_expression "*(int *)&pWC->iLimit + iVar7 * 0x30" (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier)))) + (binary_expression "iVar7 * 0x30" identifier * number_literal)) )))) ;) (expression_statement "*(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10);" (assignment_expression "*(undefined2 *)&pWVar29->pOrderBy =\n           *(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" (pointer_expression "*(undefined2 *)&pWVar29->pOrderBy" * (cast_expression "(undefined2 *)&pWVar29->pOrderBy" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWVar29->pOrderBy" & (field_expression "pWVar29->pOrderBy" identifier -> field_identifier)))) = (pointer_expression "*(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" * (cast_expression "(undefined2 *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -0x10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) ))))) ;) (expression_statement "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01';" (assignment_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) =\n           *(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) = (binary_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10) + '\x01'" (pointer_expression "*(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" * (cast_expression "(char *)((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10)" ( (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit + -10" (binary_expression "(int)pWStack_19c->aiCurOnePass + *(int *)&pWC->iLimit" (cast_expression "(int)pWStack_19c->aiCurOnePass" ( (type_descriptor "int" primitive_type) ) (field_expression "pWStack_19c->aiCurOnePass" identifier -> field_identifier)) + (pointer_expression "*(int *)&pWC->iLimit" * (cast_expression "(int *)&pWC->iLimit" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pWC->iLimit" & (field_expression "pWC->iLimit" identifier -> field_identifier))))) + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "psVar53 = psStack_17c;" (assignment_expression "psVar53 = psStack_17c" identifier = identifier) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000c6790:\n  if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;" statement_identifier : (if_statement "if (pWVar49 != (WhereInfo *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pWVar49 != (WhereInfo *)0x0)" ( (binary_expression "pWVar49 != (WhereInfo *)0x0" identifier != (cast_expression "(WhereInfo *)0x0" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;))) (expression_statement "pEVar37 = pWVar29->pResultSet;" (assignment_expression "pEVar37 = pWVar29->pResultSet" identifier = (field_expression "pWVar29->pResultSet" identifier -> field_identifier)) ;) (expression_statement "pWVar49 = (WhereInfo *)0x1;" (assignment_expression "pWVar49 = (WhereInfo *)0x1" identifier = (cast_expression "(WhereInfo *)0x1" ( (type_descriptor "WhereInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pWVar34 = pWVar52;" (assignment_expression "pWVar34 = pWVar52" identifier = identifier) ;) (goto_statement "goto LAB_000c5bb0;" goto statement_identifier ;) (labeled_statement "LAB_000c675c:\n  *(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;" statement_identifier : (expression_statement "*(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar48 + 0x3a) = *(ushort *)((int)piVar48 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar48 + 0x3a)" * (cast_expression "(ushort *)((int)piVar48 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar48 + 0x3a)" ( (binary_expression "(int)piVar48 + 0x3a" (cast_expression "(int)piVar48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar48 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar48 + 0x3a)" * (cast_expression "(ushort *)((int)piVar48 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar48 + 0x3a)" ( (binary_expression "(int)piVar48 + 0x3a" (cast_expression "(int)piVar48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;)) (expression_statement "piVar48 = piVar47;" (assignment_expression "piVar48 = piVar47" identifier = identifier) ;) (goto_statement "goto LAB_000c6768;" goto statement_identifier ;) })))
(translation_unit "void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}\n\n" (function_definition "void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" primitive_type (function_declarator "FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" identifier (parameter_list "(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "code *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "code *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "code *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined2 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int in_zero;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "code cVar15;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "ushort uVar23;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "code cVar24;" type_identifier identifier ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "short sVar28;" (sized_type_specifier "short" short) identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "undefined4 in_t0;" type_identifier identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "undefined4 in_t1;" type_identifier identifier ;) (declaration "char *pcVar35;" primitive_type (pointer_declarator "*pcVar35" * identifier) ;) (declaration "char *pcVar36;" primitive_type (pointer_declarator "*pcVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *in_t2;" type_identifier (pointer_declarator "*in_t2" * identifier) ;) (declaration "code *in_t3;" type_identifier (pointer_declarator "*in_t3" * identifier) ;) (declaration "code *in_t4;" type_identifier (pointer_declarator "*in_t4" * identifier) ;) (declaration "code *in_t5;" type_identifier (pointer_declarator "*in_t5" * identifier) ;) (declaration "code *in_t6;" type_identifier (pointer_declarator "*in_t6" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "char *pcVar40;" primitive_type (pointer_declarator "*pcVar40" * identifier) ;) (declaration "int *piVar41;" primitive_type (pointer_declarator "*piVar41" * identifier) ;) (declaration "code *pcVar42;" type_identifier (pointer_declarator "*pcVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "int *piVar44;" primitive_type (pointer_declarator "*piVar44" * identifier) ;) (declaration "code *pcVar46;" type_identifier (pointer_declarator "*pcVar46" * identifier) ;) (declaration "undefined *puVar47;" type_identifier (pointer_declarator "*puVar47" * identifier) ;) (declaration "code *pcVar48;" type_identifier (pointer_declarator "*pcVar48" * identifier) ;) (declaration "undefined8 uVar49;" type_identifier identifier ;) (declaration "undefined8 uVar50;" type_identifier identifier ;) (declaration "ulonglong uVar51;" type_identifier identifier ;) (declaration "ulonglong uVar52;" type_identifier identifier ;) (declaration "undefined8 uVar53;" type_identifier identifier ;) (declaration "code *pcVar54;" type_identifier (pointer_declarator "*pcVar54" * identifier) ;) (declaration "code *pcVar55;" type_identifier (pointer_declarator "*pcVar55" * identifier) ;) (declaration "code *pcVar56;" type_identifier (pointer_declarator "*pcVar56" * identifier) ;) (declaration "code *pcStack_1b8;" type_identifier (pointer_declarator "*pcStack_1b8" * identifier) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "code *pcStack_1a4;" type_identifier (pointer_declarator "*pcStack_1a4" * identifier) ;) (declaration "code *pcStack_19c;" type_identifier (pointer_declarator "*pcStack_19c" * identifier) ;) (declaration "uint uStack_198;" type_identifier identifier ;) (declaration "uint uStack_194;" type_identifier identifier ;) (declaration "code *pcStack_190;" type_identifier (pointer_declarator "*pcStack_190" * identifier) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code *pcStack_188;" type_identifier (pointer_declarator "*pcStack_188" * identifier) ;) (declaration "code *pcStack_184;" type_identifier (pointer_declarator "*pcStack_184" * identifier) ;) (declaration "undefined4 *puStack_180;" type_identifier (pointer_declarator "*puStack_180" * identifier) ;) (declaration "code *pcStack_17c;" type_identifier (pointer_declarator "*pcStack_17c" * identifier) ;) (declaration "int iStack_178;" primitive_type identifier ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined1 auStack_168 [4];" type_identifier (array_declarator "auStack_168 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_164 [4];" type_identifier (array_declarator "auStack_164 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_160;" type_identifier identifier ;) (declaration "undefined4 uStack_15c;" type_identifier identifier ;) (declaration "byte bStack_158;" type_identifier identifier ;) (declaration "byte bStack_157;" type_identifier identifier ;) (declaration "byte bStack_156;" type_identifier identifier ;) (declaration "byte bStack_155;" type_identifier identifier ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "undefined4 *puStack_150;" type_identifier (pointer_declarator "*puStack_150" * identifier) ;) (declaration "undefined4 *puStack_14c;" type_identifier (pointer_declarator "*puStack_14c" * identifier) ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "code *pcStack_144;" type_identifier (pointer_declarator "*pcStack_144" * identifier) ;) (declaration "code *pcStack_140;" type_identifier (pointer_declarator "*pcStack_140" * identifier) ;) (declaration "undefined *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "code *pcStack_138;" type_identifier (pointer_declarator "*pcStack_138" * identifier) ;) (declaration "code *pcStack_134;" type_identifier (pointer_declarator "*pcStack_134" * identifier) ;) (declaration "int *piStack_130;" primitive_type (pointer_declarator "*piStack_130" * identifier) ;) (declaration "code *pcStack_12c;" type_identifier (pointer_declarator "*pcStack_12c" * identifier) ;) (declaration "code *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "code *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined4 local_10c;" type_identifier identifier ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "undefined4 local_104;" type_identifier identifier ;) (declaration "undefined4 *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "undefined4 *local_fc;" type_identifier (pointer_declarator "*local_fc" * identifier) ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "undefined4 local_f0;" type_identifier identifier ;) (declaration "undefined4 local_ec;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined4 local_e4;" type_identifier identifier ;) (declaration "undefined4 local_e0;" type_identifier identifier ;) (declaration "undefined4 local_dc;" type_identifier identifier ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "code *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "undefined4 local_ac;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "code *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined4 local_84;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined1 local_64 [4];" type_identifier (array_declarator "local_64 [4]" identifier [ number_literal ]) ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "undefined4 local_48;" type_identifier identifier ;) (declaration "undefined1 local_3c;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(code *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar42 = (code *)&local_10c;" (assignment_expression "pcVar42 = (code *)&local_10c" identifier = (cast_expression "(code *)&local_10c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_10c" & identifier))) ;) (expression_statement "local_110 = (code *)0x0;" (assignment_expression "local_110 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (code *)0x0;" (assignment_expression "local_c8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (code *)0x0;" (assignment_expression "local_90 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" identifier = number_literal) ;) (expression_statement "local_100 = (undefined4 *)0x0;" (assignment_expression "local_100 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_fc = (undefined4 *)0x0;" (assignment_expression "local_fc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" identifier = number_literal) ;) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" identifier = number_literal) ;) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "pcVar31 = param_4;" (assignment_expression "pcVar31 = param_4" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x656c)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x656c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x656c)" ( (binary_expression "PTR_LAB_0015b65c + 0x656c" identifier + number_literal) )))) )) (argument_list "(local_64,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "local_10c = CONCAT13(0x2c,local_10c._1_3_);" (assignment_expression "local_10c = CONCAT13(0x2c,local_10c._1_3_)" identifier = (call_expression "CONCAT13(0x2c,local_10c._1_3_)" identifier (argument_list "(0x2c,local_10c._1_3_)" ( number_literal , (field_expression "local_10c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_d4 = CONCAT13(0x39,local_d4._1_3_);" (assignment_expression "local_d4 = CONCAT13(0x39,local_d4._1_3_)" identifier = (call_expression "CONCAT13(0x39,local_d4._1_3_)" identifier (argument_list "(0x39,local_d4._1_3_)" ( number_literal , (field_expression "local_d4._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_9c = CONCAT13(0x37,local_9c._1_3_);" (assignment_expression "local_9c = CONCAT13(0x37,local_9c._1_3_)" identifier = (call_expression "CONCAT13(0x37,local_9c._1_3_)" identifier (argument_list "(0x37,local_9c._1_3_)" ( number_literal , (field_expression "local_9c._1_3_" identifier . field_identifier) )))) ;) (expression_statement "local_c4 = *(undefined4 *)(*param_3 + 4);" (assignment_expression "local_c4 = *(undefined4 *)(*param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(*param_3 + 4)" * (cast_expression "(undefined4 *)(*param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 4)" ( (binary_expression "*param_3 + 4" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_8c = *(undefined4 *)(*param_3 + 0x18);" (assignment_expression "local_8c = *(undefined4 *)(*param_3 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(*param_3 + 0x18)" * (cast_expression "(undefined4 *)(*param_3 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x18)" ( (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_100 = &local_d4;" (assignment_expression "local_100 = &local_d4" identifier = (pointer_expression "&local_d4" & identifier)) ;) (expression_statement "local_fc = &local_9c;" (assignment_expression "local_fc = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "local_c8 = (code *)local_64;" (assignment_expression "local_c8 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_90 = (code *)local_64;" (assignment_expression "local_90 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_48 = FUN_000c29d4(param_1,local_64,&local_110);" (assignment_expression "local_48 = FUN_000c29d4(param_1,local_64,&local_110)" identifier = (call_expression "FUN_000c29d4(param_1,local_64,&local_110)" identifier (argument_list "(param_1,local_64,&local_110)" ( identifier , identifier , (pointer_expression "&local_110" & identifier) )))) ;) (expression_statement "local_3c = local_64[0];" (assignment_expression "local_3c = local_64[0]" identifier = (subscript_expression "local_64[0]" identifier [ number_literal ])) ;) (expression_statement "local_60 = local_60 & 0xffffefff;" (assignment_expression "local_60 = local_60 & 0xffffefff" identifier = (binary_expression "local_60 & 0xffffefff" identifier & number_literal)) ;) (expression_statement "local_64[0] = (code)0xa4;" (assignment_expression "local_64[0] = (code)0xa4" (subscript_expression "local_64[0]" identifier [ number_literal ]) = (cast_expression "(code)0xa4" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" identifier = identifier) ;) (expression_statement "pcVar46 = param_4;" (assignment_expression "pcVar46 = param_4" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }" { (expression_statement "local_60 = local_60 | 1;" (assignment_expression "local_60 = local_60 | 1" identifier = (binary_expression "local_60 | 1" identifier | number_literal)) ;) (expression_statement "FUN_000bea74(param_1,pcVar42);" (call_expression "FUN_000bea74(param_1,pcVar42)" identifier (argument_list "(param_1,pcVar42)" ( identifier , identifier ))) ;) }) (else_clause "else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" else (compound_statement "{\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" { (expression_statement "(*param_5)(param_1,pcVar42);" (call_expression "(*param_5)(param_1,pcVar42)" (parenthesized_expression "(*param_5)" ( (pointer_expression "*param_5" * identifier) )) (argument_list "(param_1,pcVar42)" ( identifier , identifier ))) ;) (expression_statement "pcVar31 = param_6;" (assignment_expression "pcVar31 = param_6" identifier = identifier) ;) }))) (expression_statement "pcVar22 = local_110;" (assignment_expression "pcVar22 = local_110" identifier = identifier) ;) (if_statement "if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" if (parenthesized_expression "(local_110 != (code *)0x0)" ( (binary_expression "local_110 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" { (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();" (call_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" * (cast_expression "(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6c0 + -0x7cb0)" ( (binary_expression "PTR_LAB_0015b6c0 + -0x7cb0" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_2c == *(int *)pcVar27) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)pcVar27)" ( (binary_expression "local_2c == *(int *)pcVar27" identifier == (pointer_expression "*(int *)pcVar27" * (cast_expression "(int *)pcVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar48 = FUN_000c4ac8;" (assignment_expression "pcVar48 = FUN_000c4ac8" identifier = identifier) ;) (expression_statement "puVar47 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar47 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(puVar47 + 0x96f64);" (assignment_expression "piVar5 = *(int **)(puVar47 + 0x96f64)" identifier = (pointer_expression "*(int **)(puVar47 + 0x96f64)" * (cast_expression "(int **)(puVar47 + 0x96f64)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96f64)" ( (binary_expression "puVar47 + 0x96f64" identifier + number_literal) ))))) ;) (expression_statement "pcStack_134 = param_5;" (assignment_expression "pcStack_134 = param_5" identifier = identifier) ;) (expression_statement "puStack_13c = pcVar27;" (assignment_expression "puStack_13c = pcVar27" identifier = identifier) ;) (expression_statement "pcVar38 = *(code **)pcVar22;" (assignment_expression "pcVar38 = *(code **)pcVar22" identifier = (pointer_expression "*(code **)pcVar22" * (cast_expression "(code **)pcVar22" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iStack_154 = *piVar5;" (assignment_expression "iStack_154 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "pcVar17 = *(code **)pcVar38;" (assignment_expression "pcVar17 = *(code **)pcVar38" identifier = (pointer_expression "*(code **)pcVar38" * (cast_expression "(code **)pcVar38" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar6 = *(code **)pcVar17;" (assignment_expression "pcVar6 = *(code **)pcVar17" identifier = (pointer_expression "*(code **)pcVar17" * (cast_expression "(code **)pcVar17" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar43 = (code *)local_64;" (assignment_expression "pcVar43 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStack_150 = &local_9c;" (assignment_expression "puStack_150 = &local_9c" identifier = (pointer_expression "&local_9c" & identifier)) ;) (expression_statement "puStack_14c = &local_d4;" (assignment_expression "puStack_14c = &local_d4" identifier = (pointer_expression "&local_d4" & identifier)) ;) (expression_statement "pcStack_148 = pcVar42;" (assignment_expression "pcStack_148 = pcVar42" identifier = identifier) ;) (expression_statement "pcStack_144 = (code *)local_64;" (assignment_expression "pcStack_144 = (code *)local_64" identifier = (cast_expression "(code *)local_64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_140 = param_1;" (assignment_expression "pcStack_140 = param_1" identifier = identifier) ;) (expression_statement "pcStack_138 = param_4;" (assignment_expression "pcStack_138 = param_4" identifier = identifier) ;) (expression_statement "piStack_130 = param_3;" (assignment_expression "piStack_130 = param_3" identifier = identifier) ;) (expression_statement "pcStack_12c = pcVar48;" (assignment_expression "pcStack_12c = pcVar48" identifier = identifier) ;) (expression_statement "pcStack_120 = pcVar46;" (assignment_expression "pcStack_120 = pcVar46" identifier = identifier) ;) (expression_statement "uVar53 = CONCAT44(in_t1,in_t0);" (assignment_expression "uVar53 = CONCAT44(in_t1,in_t0)" identifier = (call_expression "CONCAT44(in_t1,in_t0)" identifier (argument_list "(in_t1,in_t0)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;" if (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" ( (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcStack_1b8 = pcVar38 + 0x1e8;" (assignment_expression "pcStack_1b8 = pcVar38 + 0x1e8" identifier = (binary_expression "pcVar38 + 0x1e8" identifier + number_literal)) ;) (expression_statement "pcStack_19c = (code *)((int)pcVar46 * 0x30);" (assignment_expression "pcStack_19c = (code *)((int)pcVar46 * 0x30)" identifier = (cast_expression "(code *)((int)pcVar46 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar46 * 0x30)" ( (binary_expression "(int)pcVar46 * 0x30" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pcVar43 = pcStack_19c + iVar32;" (assignment_expression "pcVar43 = pcStack_19c + iVar32" identifier = (binary_expression "pcStack_19c + iVar32" identifier + identifier)) ;) (expression_statement "param_4 = *(code **)pcVar43;" (assignment_expression "param_4 = *(code **)pcVar43" identifier = (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (if_statement "if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_4 + 0xc) == 0)" ( (binary_expression "*(int *)(param_4 + 0xc) == 0" (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }" { (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" identifier = (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "uVar49 = 0;" (assignment_expression "uVar49 = 0" identifier = number_literal) ;) (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) (if_statement "if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;" if (parenthesized_expression "(param_1 != (code *)&DAT_00000031)" ( (binary_expression "param_1 != (code *)&DAT_00000031" identifier != (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4b90;" goto statement_identifier ;)) (labeled_statement "LAB_000c4cac:\n    uVar49 = uVar50;" statement_identifier : (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;)) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);" (assignment_expression "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1a50)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1a50" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,param_4)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(in_t1,iVar32);" (assignment_expression "uVar53 = CONCAT44(in_t1,iVar32)" identifier = (call_expression "CONCAT44(in_t1,iVar32)" identifier (argument_list "(in_t1,iVar32)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (if_statement "if (iVar39 != 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" if (parenthesized_expression "((*(uint *)(param_4 + 4) & 0x800) == 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 0x800)" ( (binary_expression "*(uint *)(param_4 + 4) & 0x800" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }" { (if_statement "if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" if (parenthesized_expression "(*(int *)(param_4 + 0x14) == 0)" ( (binary_expression "*(int *)(param_4 + 0x14) == 0" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar50 = 0;\n      }" { (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" else (compound_statement "{\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" { (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2a54)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2a54" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) }) (else_clause "else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" else (compound_statement "{\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" { (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2958)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2958" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" * (cast_expression "(undefined8 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) }) (else_clause "else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" else (compound_statement "{\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" { (expression_statement "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();" (assignment_expression "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2d10)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2d10" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" identifier = (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "uVar50 = uVar49;" (assignment_expression "uVar50 = uVar49" identifier = identifier) ;) (if_statement "if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;" if (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" ( (binary_expression "param_1 == (code *)&DAT_00000031" identifier == (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (goto_statement "goto LAB_000c4cac;" goto statement_identifier ;)) (labeled_statement "LAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);" statement_identifier : (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;)) (if_statement "if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" if (parenthesized_expression "(param_1 == (code *)0x32)" ( (binary_expression "param_1 == (code *)0x32" identifier == (cast_expression "(code *)0x32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }" { (expression_statement "*(undefined4 *)(pcVar43 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x20) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x20)" * (cast_expression "(undefined4 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x24) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x24)" * (cast_expression "(undefined4 *)(pcVar43 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" else (compound_statement "{\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" { (if_statement "if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" if (parenthesized_expression "(*(int *)(param_4 + 0x10) == 0)" ( (binary_expression "*(int *)(param_4 + 0x10) == 0" (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar50 = 0;\n      }" { (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" else (compound_statement "{\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" { (expression_statement "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" identifier = (call_expression "(*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" (parenthesized_expression "(*(code *)(iVar32 + -0x2d10))" ( (pointer_expression "*(code *)(iVar32 + -0x2d10)" * (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) )) (argument_list "(pcStack_1b8)" ( identifier )))) ;) }))) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" identifier = (cast_expression "(code *)(iVar32 + -0x2d10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x2d10)" ( (binary_expression "iVar32 + -0x2d10" identifier + number_literal) )))) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" * (cast_expression "(undefined8 *)(pcVar43 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(pcVar38 + 0x1e8) = 0;" (assignment_expression "*(undefined4 *)(pcVar38 + 0x1e8) = 0" (pointer_expression "*(undefined4 *)(pcVar38 + 0x1e8)" * (cast_expression "(undefined4 *)(pcVar38 + 0x1e8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1e8)" ( (binary_expression "pcVar38 + 0x1e8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);" (assignment_expression "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,param_4)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,param_4)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" if (parenthesized_expression "(*(int *)(pcVar38 + 0x1e8) != 0)" ( (binary_expression "*(int *)(pcVar38 + 0x1e8) != 0" (pointer_expression "*(int *)(pcVar38 + 0x1e8)" * (cast_expression "(int *)(pcVar38 + 0x1e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1e8)" ( (binary_expression "pcVar38 + 0x1e8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (if_statement "if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" if (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) == 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" ( (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }" { (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" else (compound_statement "{\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" { (if_statement "if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "((int)*(uint *)(pcVar38 + 0x1ec) < 1)" ( (binary_expression "(int)*(uint *)(pcVar38 + 0x1ec) < 1" (cast_expression "(int)*(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" * (cast_expression "(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1ec)" ( (binary_expression "pcVar38 + 0x1ec" identifier + number_literal) ))))) < number_literal) )) (compound_statement "{\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" { (labeled_statement "LAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);" statement_identifier : (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1104)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1104" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32 + -0x6e04)" ( identifier , (binary_expression "iVar32 + -0x6e04" identifier + number_literal) ))) ;)) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (if_statement "if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" if (parenthesized_expression "((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0))" ( (binary_expression "(int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)" (cast_expression "(int)*(short *)(param_4 + 0x26)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_4 + 0x26)" * (cast_expression "(short *)(param_4 + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) == (pointer_expression "*(int *)(pcVar38 + 0x1f0)" * (cast_expression "(int *)(pcVar38 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1f0)" ( (binary_expression "pcVar38 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" else (compound_statement "{\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar46 = pcVar38 + 500;" (assignment_expression "pcVar46 = pcVar38 + 500" identifier = (binary_expression "pcVar38 + 500" identifier + number_literal)) ;) (do_statement "do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);" do (compound_statement "{\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar18 == *(uint *)(pcVar38 + 0x1ec))" ( (binary_expression "uVar18 == *(uint *)(pcVar38 + 0x1ec)" identifier == (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" * (cast_expression "(uint *)(pcVar38 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x1ec)" ( (binary_expression "pcVar38 + 0x1ec" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)pcVar46;" (assignment_expression "iVar32 = *(int *)pcVar46" identifier = (pointer_expression "*(int *)pcVar46" * (cast_expression "(int *)pcVar46" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar46 = pcVar46 + 4;" (assignment_expression "pcVar46 = pcVar46 + 4" identifier = (binary_expression "pcVar46 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(short *)(param_4 + 0x26) != iVar32)" ( (binary_expression "*(short *)(param_4 + 0x26) != iVar32" (pointer_expression "*(short *)(param_4 + 0x26)" * (cast_expression "(short *)(param_4 + 0x26)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "uVar13 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar13 = 1 << (uVar18 & 0x1f)" identifier = (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" if (parenthesized_expression "((uVar18 & 0x20) == 0)" ( (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" ( (binary_expression "uVar18 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar18 = 0;\n      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" else (compound_statement "{\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" { (expression_statement "uVar18 = uVar13;" (assignment_expression "uVar18 = uVar13" identifier = identifier) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) (expression_statement "uStack_194 = uVar13 - 1;" (assignment_expression "uStack_194 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);" (assignment_expression "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1)" identifier = (binary_expression "(uint)(uStack_194 < uVar13) + (uVar18 - 1)" (call_expression "(uint)(uStack_194 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_194 < uVar13)" ( (binary_expression "uStack_194 < uVar13" identifier < identifier) ))) + (parenthesized_expression "(uVar18 - 1)" ( (binary_expression "uVar18 - 1" identifier - number_literal) )))) ;) }))) (expression_statement "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;" (assignment_expression "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18" identifier = (binary_expression "(uint)((ulonglong)uVar50 >> 0x20) | uVar18" (call_expression "(uint)((ulonglong)uVar50 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) | identifier)) ;) (expression_statement "uVar21 = (uint)uVar50 | uVar13;" (assignment_expression "uVar21 = (uint)uVar50 | uVar13" identifier = (binary_expression "(uint)uVar50 | uVar13" (cast_expression "(uint)uVar50" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier)) ;) (expression_statement "uVar50 = CONCAT44(uVar34,uVar21);" (assignment_expression "uVar50 = CONCAT44(uVar34,uVar21)" identifier = (call_expression "CONCAT44(uVar34,uVar21)" identifier (argument_list "(uVar34,uVar21)" ( identifier , identifier )))) ;) (expression_statement "pcVar31 = (code *)(uVar34 << 0x1f);" (assignment_expression "pcVar31 = (code *)(uVar34 << 0x1f)" identifier = (cast_expression "(code *)(uVar34 << 0x1f)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar34 << 0x1f)" ( (binary_expression "uVar34 << 0x1f" identifier << number_literal) )))) ;) (if_statement "if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" if (parenthesized_expression "(uVar18 <= uVar34 >> 1)" ( (binary_expression "uVar18 <= uVar34 >> 1" identifier <= (binary_expression "uVar34 >> 1" identifier >> number_literal)) )) (compound_statement "{\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" { (if_statement "if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;" if (parenthesized_expression "(uVar18 != uVar34 >> 1)" ( (binary_expression "uVar18 != uVar34 >> 1" identifier != (binary_expression "uVar34 >> 1" identifier >> number_literal)) )) (goto_statement "goto LAB_000c4c3c;" goto statement_identifier ;)) (if_statement "if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" if (parenthesized_expression "(uVar13 <= ((uint)pcVar31 | uVar21 >> 1))" ( (binary_expression "uVar13 <= ((uint)pcVar31 | uVar21 >> 1)" identifier <= (parenthesized_expression "((uint)pcVar31 | uVar21 >> 1)" ( (binary_expression "(uint)pcVar31 | uVar21 >> 1" (cast_expression "(uint)pcVar31" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar21 >> 1" identifier >> number_literal)) ))) )) (compound_statement "{\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c4c40;" goto statement_identifier ;) })) })) }))) (expression_statement "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar48 = (code *)uVar50;" (assignment_expression "pcVar48 = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" * (cast_expression "(undefined8 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" * (cast_expression "(undefined2 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" * (cast_expression "(undefined4 *)(pcVar43 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar46 = pcVar43;" (assignment_expression "pcVar46 = pcVar43" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (if_statement "if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" if (parenthesized_expression "((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)))" ( (binary_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" (parenthesized_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff))" ( (binary_expression "0xc < ((uint)(param_1 + -0x2d) & 0xff)" number_literal < (parenthesized_expression "((uint)(param_1 + -0x2d) & 0xff)" ( (binary_expression "(uint)(param_1 + -0x2d) & 0xff" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x2d)" ( (binary_expression "param_1 + -0x2d" identifier + number_literal) ))) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" ( (binary_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f))" ( (binary_expression "0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)" number_literal >> (parenthesized_expression "((uint)(param_1 + -0x2d) & 0x1f)" ( (binary_expression "(uint)(param_1 + -0x2d) & 0x1f" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x2d)" ( (binary_expression "param_1 + -0x2d" identifier + number_literal) ))) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" { (if_statement "if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" if (parenthesized_expression "(*param_4 == (code)0x30)" ( (binary_expression "*param_4 == (code)0x30" (pointer_expression "*param_4" * identifier) == (cast_expression "(code)0x30" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(pcVar22[8] != (code)0x2c)" ( (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar8 = 0x39;" (assignment_expression "uVar8 = 0x39" identifier = number_literal) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4)" identifier = (cast_expression "(undefined4 *)(*(int *)(param_4 + 0x14) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 4)" ( (binary_expression "*(int *)(param_4 + 0x14) + 4" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" { (expression_statement "param_5 = *(code **)(param_4 + 0xc);" (assignment_expression "param_5 = *(code **)(param_4 + 0xc)" identifier = (pointer_expression "*(code **)(param_4 + 0xc)" * (cast_expression "(code **)(param_4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" { (expression_statement "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);" (assignment_expression "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" ( (pointer_expression "*(code *)(iVar19 + -0x271c)" * (cast_expression "(code *)(iVar19 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x271c)" ( (binary_expression "iVar19 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,param_5,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) })) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (if_statement "if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" if (parenthesized_expression "(pcVar31 != (code *)0x0)" ( (binary_expression "pcVar31 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" { (expression_statement "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" ( (pointer_expression "*(code *)(iVar19 + -0x271c)" * (cast_expression "(code *)(iVar19 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x271c)" ( (binary_expression "iVar19 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcVar31,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) })) (expression_statement "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);" (assignment_expression "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" identifier = (call_expression "(*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" (parenthesized_expression "(*(code *)(iVar29 + 0x26b4))" ( (pointer_expression "*(code *)(iVar29 + 0x26b4)" * (cast_expression "(code *)(iVar29 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26b4)" ( (binary_expression "iVar29 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,uVar8,param_5)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" { (expression_statement "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" * (cast_expression "(uint *)(iVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" * (cast_expression "(uint *)(iVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar10 + 0x26)" * (cast_expression "(undefined2 *)(iVar10 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x26)" ( (binary_expression "iVar10 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);" (assignment_expression "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,iVar10,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "puVar20 = puVar20 + 5;" (assignment_expression "puVar20 = puVar20 + 5" identifier = (binary_expression "puVar20 + 5" identifier + number_literal)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,puVar20);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,puVar20)" identifier = (call_expression "CONCAT44(pcStack_1a4,puVar20)" identifier (argument_list "(pcStack_1a4,puVar20)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);" (call_expression "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10)" (parenthesized_expression "(*(code *)(iVar32 + 0x4ac8))" ( (pointer_expression "*(code *)(iVar32 + 0x4ac8)" * (cast_expression "(code *)(iVar32 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x4ac8)" ( (binary_expression "iVar32 + 0x4ac8" identifier + number_literal) )))) )) (argument_list "(pcVar26,pcVar22,iVar10)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar33 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar33 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10)" * (cast_expression "(code **)(iVar33 + iVar10 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar33 + iVar10 * 0x30 + 0x10)" ( (binary_expression "iVar33 + iVar10 * 0x30 + 0x10" (binary_expression "iVar33 + iVar10 * 0x30" identifier + (binary_expression "iVar10 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar10 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "uVar8 = 0x37;" (assignment_expression "uVar8 = 0x37" identifier = number_literal) ;) (if_statement "if (bVar45) break;" if (parenthesized_expression "(bVar45)" ( identifier )) (break_statement "break;" break ;)) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) })) (expression_statement "param_1 = (code *)0x1;" (assignment_expression "param_1 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)(iVar39 + -0x73f4);" (assignment_expression "pcVar38 = (code *)(iVar39 + -0x73f4)" identifier = (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "pcVar46 = pcStack_19c + iVar33;" (assignment_expression "pcVar46 = pcStack_19c + iVar33" identifier = (binary_expression "pcStack_19c + iVar33" identifier + identifier)) ;) (expression_statement "pcStack_190 = (code *)(iVar32 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar32 + 0x4ac8)" identifier = (cast_expression "(code *)(iVar32 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x4ac8)" ( (binary_expression "iVar32 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar37,iVar33);" (assignment_expression "uVar53 = CONCAT44(pcVar37,iVar33)" identifier = (call_expression "CONCAT44(pcVar37,iVar33)" identifier (argument_list "(pcVar37,iVar33)" ( identifier , identifier )))) ;) }) (else_clause "else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" else (compound_statement "{\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" { (expression_statement "pcVar31 = (code *)0x1a0;" (assignment_expression "pcVar31 = (code *)0x1a0" identifier = (cast_expression "(code *)0x1a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" if (parenthesized_expression "(*param_4 == (code)0x2b)" ( (binary_expression "*param_4 == (code)0x2b" (pointer_expression "*param_4" * identifier) == (cast_expression "(code)0x2b" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" { (expression_statement "pcStack_1a4 = *(code **)pcVar22;" (assignment_expression "pcStack_1a4 = *(code **)pcVar22" identifier = (pointer_expression "*(code **)pcVar22" * (cast_expression "(code **)pcVar22" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puStack_180 = *(undefined4 **)pcStack_1a4;" (assignment_expression "puStack_180 = *(undefined4 **)pcStack_1a4" identifier = (pointer_expression "*(undefined4 **)pcStack_1a4" * (cast_expression "(undefined4 **)pcStack_1a4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "param_1 = (code *)*puStack_180;" (assignment_expression "param_1 = (code *)*puStack_180" identifier = (cast_expression "(code *)*puStack_180" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_180" * identifier))) ;) (expression_statement "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "iStack_178 = *(int *)pcStack_18c;" (assignment_expression "iStack_178 = *(int *)pcStack_18c" identifier = (pointer_expression "*(int *)pcStack_18c" * (cast_expression "(int *)pcStack_18c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);" (assignment_expression "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2a40)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2a40" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "*(code **)(pcStack_18c + 0x1c) = pcVar43;" (assignment_expression "*(code **)(pcStack_18c + 0x1c) = pcVar43" (pointer_expression "*(code **)(pcStack_18c + 0x1c)" * (cast_expression "(code **)(pcStack_18c + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_18c + 0x1c)" ( (binary_expression "pcStack_18c + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" identifier = identifier) ;) (expression_statement "pcVar42 = pcStack_1a4;" (assignment_expression "pcVar42 = pcStack_1a4" identifier = identifier) ;) (if_statement "if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pcVar43 == (code *)0x0)" ( (binary_expression "pcVar43 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96eec)" * (cast_expression "(code **)(puVar47 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96eec)" ( (binary_expression "puVar47 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;" (assignment_expression "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" * (cast_expression "(ushort *)(pcStack_18c + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 10)" ( (binary_expression "pcStack_18c + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" * (cast_expression "(ushort *)(pcStack_18c + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 10)" ( (binary_expression "pcStack_18c + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);" (assignment_expression "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180)" identifier = (call_expression "(*pcVar42)(pcVar43 + 0x18,0,0x180)" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "(pcVar43 + 0x18,0,0x180)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "*(code **)pcVar43 = pcStack_1a4;" (assignment_expression "*(code **)pcVar43 = pcStack_1a4" (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "pcVar43[9] = (code)0x0;" (assignment_expression "pcVar43[9] = (code)0x0" (subscript_expression "pcVar43[9]" identifier [ number_literal ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "*(undefined4 *)(pcVar43 + 4) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 4) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 4)" * (cast_expression "(undefined4 *)(pcVar43 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 4)" ( (binary_expression "pcVar43 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0xc)" * (cast_expression "(undefined4 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uVar8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uVar8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcStack_174 = (code *)(iVar32 + -0x70f0);" (assignment_expression "pcStack_174 = (code *)(iVar32 + -0x70f0)" identifier = (cast_expression "(code *)(iVar32 + -0x70f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x70f0)" ( (binary_expression "iVar32 + -0x70f0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" * (cast_expression "(undefined4 *)(pcVar43 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcStack_174)(pcVar43,iStack_178,0x2b);" (call_expression "(*pcStack_174)(pcVar43,iStack_178,0x2b)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pcVar43,iStack_178,0x2b)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);" (assignment_expression "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1)" identifier = (cast_expression "(code *)(*(int *)(pcVar43 + 0xc) + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0xc) + -1)" ( (binary_expression "*(int *)(pcVar43 + 0xc) + -1" (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" if (parenthesized_expression "((int)pcVar42 < 0)" ( (binary_expression "(int)pcVar42 < 0" (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }" { (expression_statement "pcVar38 = pcStack_18c;" (assignment_expression "pcVar38 = pcStack_18c" identifier = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) }) (else_clause "else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" else (compound_statement "{\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" { (expression_statement "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar50 = CONCAT44(param_5,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_5,pcStack_18c)" identifier = (call_expression "CONCAT44(param_5,pcStack_18c)" identifier (argument_list "(param_5,pcStack_18c)" ( identifier , identifier )))) ;) (do_statement "do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);" do (compound_statement "{\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          }" { (expression_statement "pcVar27 = pcVar42 + -1;" (assignment_expression "pcVar27 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar43,pcVar42);" (call_expression "FUN_000c4ac8(pcVar26,pcVar43,pcVar42)" identifier (argument_list "(pcVar26,pcVar43,pcVar42)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar27 != (code *)0xffffffff)" ( (binary_expression "pcVar27 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_190 = param_5;" (assignment_expression "pcStack_190 = param_5" identifier = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "in_t2 = *(code **)(pcVar43 + 0xc);" (assignment_expression "in_t2 = *(code **)(pcVar43 + 0xc)" identifier = (pointer_expression "*(code **)(pcVar43 + 0xc)" * (cast_expression "(code **)(pcVar43 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = in_t2 + -1;" (assignment_expression "pcVar42 = in_t2 + -1" identifier = (binary_expression "in_t2 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = *(code **)(pcVar43 + 0x14);" (assignment_expression "pcVar46 = *(code **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x14)" * (cast_expression "(code **)(pcVar43 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" if (parenthesized_expression "(-1 < (int)pcVar42)" ( (binary_expression "-1 < (int)pcVar42" number_literal < (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" { (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) (expression_statement "pcStack_188 = (code *)0xffffffff;" (assignment_expression "pcStack_188 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_184 = (code *)0xffffffff;" (assignment_expression "pcStack_184 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2b10)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2b10" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) })) }))) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" identifier = identifier) ;) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" identifier = identifier) ;) (if_statement "if (iVar32 != 2) goto LAB_000c5b7c;" if (parenthesized_expression "(iVar32 != 2)" ( (binary_expression "iVar32 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000c5b7c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6e58;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) })) (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" identifier = (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" { (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" identifier = (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }" { (expression_statement "iVar32 = *(int *)(iVar32 + 0xc);" (assignment_expression "iVar32 = *(int *)(iVar32 + 0xc)" identifier = (pointer_expression "*(int *)(iVar32 + 0xc)" * (cast_expression "(int *)(iVar32 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0xc)" ( (binary_expression "iVar32 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" else (compound_statement "{\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" { (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + 4)" * (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar32 + 0x14) + 4)" ( (binary_expression "*(int *)(iVar32 + 0x14) + 4" (pointer_expression "*(int *)(iVar32 + 0x14)" * (cast_expression "(int *)(iVar32 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (iVar32 == 0) break;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" identifier = (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "param_5 = *(code **)(param_4 + 0x10);" (assignment_expression "param_5 = *(code **)(param_4 + 0x10)" identifier = (pointer_expression "*(code **)(param_4 + 0x10)" * (cast_expression "(code **)(param_4 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" { (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" identifier = (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_5 = *(code **)(param_5 + 0xc);\n      }" { (expression_statement "param_5 = *(code **)(param_5 + 0xc);" (assignment_expression "param_5 = *(code **)(param_5 + 0xc)" identifier = (pointer_expression "*(code **)(param_5 + 0xc)" * (cast_expression "(code **)(param_5 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" else (compound_statement "{\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" { (expression_statement "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);" (assignment_expression "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4)" identifier = (pointer_expression "*(code **)(*(int *)(param_5 + 0x14) + 4)" * (cast_expression "(code **)(*(int *)(param_5 + 0x14) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_5 + 0x14) + 4)" ( (binary_expression "*(int *)(param_5 + 0x14) + 4" (pointer_expression "*(int *)(param_5 + 0x14)" * (cast_expression "(int *)(param_5 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x14)" ( (binary_expression "param_5 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (param_5 == (code *)0x0) break;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" identifier = (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) ))))) ;) })) })) (expression_statement "uVar23 = 0x1fff;" (assignment_expression "uVar23 = 0x1fff" identifier = number_literal) ;) (if_statement "if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }" if (parenthesized_expression "((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0)" ( (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4)" ( (binary_expression "*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" * (cast_expression "(uint *)(pcVar43 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) & (cast_expression "(uint)pcStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) || (binary_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42)" ( (binary_expression "*(uint *)(pcVar43 + 0x24) & (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" * (cast_expression "(uint *)(pcVar43 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) & (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal)) )) (compound_statement "{\n    uVar23 = 0x800;\n  }" { (expression_statement "uVar23 = 0x800;" (assignment_expression "uVar23 = 0x800" identifier = number_literal) ;) })) (if_statement "if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" if (parenthesized_expression "(0 < *(int *)(pcVar43 + 0x18))" ( (binary_expression "0 < *(int *)(pcVar43 + 0x18)" number_literal < (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" { (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" * (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" ( (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4" (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14" (pointer_expression "*(int *)(iVar32 + 0x14)" * (cast_expression "(int *)(iVar32 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) + (binary_expression "(*(int *)(pcVar43 + 0x18) + -1) * 0x14" (parenthesized_expression "(*(int *)(pcVar43 + 0x18) + -1)" ( (binary_expression "*(int *)(pcVar43 + 0x18) + -1" (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) )))) + number_literal) )) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c4c);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c4c)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = pcVar42;" (assignment_expression "pcVar31 = pcVar42" identifier = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" identifier = (call_expression "(*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" ( (pointer_expression "*(code *)(iVar39 + -0x28cc)" * (cast_expression "(code *)(iVar39 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x28cc)" ( (binary_expression "iVar39 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" ( identifier , number_literal , identifier , identifier , (pointer_expression "&uStack_160" & identifier) , identifier , identifier )))) ;) (if_statement "if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" { (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x1c)" ( (binary_expression "pcVar43 + 0x1c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" if (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" ( (binary_expression "param_1 == (code *)&DAT_00000031" identifier == (cast_expression "(code *)&DAT_00000031" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000031" & identifier))) )) (compound_statement "{\n      uVar14 = 1;\n    }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" else (compound_statement "{\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" { (expression_statement "uVar14 = 0x100;" (assignment_expression "uVar14 = 0x100" identifier = number_literal) ;) (if_statement "if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" if (parenthesized_expression "(param_1 != (code *)0x32)" ( (binary_expression "param_1 != (code *)0x32" identifier != (cast_expression "(code *)0x32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" { (if_statement "if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar14 = 0x80;\n        }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" else (compound_statement "{\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" { (expression_statement "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));" (assignment_expression "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" identifier = (call_expression "(ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(2 << ((uint)(param_1 + -0x35) & 0x1f))" ( (binary_expression "2 << ((uint)(param_1 + -0x35) & 0x1f)" number_literal << (parenthesized_expression "((uint)(param_1 + -0x35) & 0x1f)" ( (binary_expression "(uint)(param_1 + -0x35) & 0x1f" (call_expression "(uint)(param_1 + -0x35)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + -0x35)" ( (binary_expression "param_1 + -0x35" identifier + number_literal) ))) & number_literal) ))) )))) ;) }))) })) }))) (expression_statement "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" * (cast_expression "(ushort *)(pcVar43 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar23 & uVar14" identifier & identifier)) ;) })) (if_statement "if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "pcVar38 = (code *)&uStack_160;" (assignment_expression "pcVar38 = (code *)&uStack_160" identifier = (cast_expression "(code *)&uStack_160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_160" & identifier))) ;) (expression_statement "pcStack_190 = pcVar37;" (assignment_expression "pcStack_190 = pcVar37" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar48;" (assignment_expression "pcStack_18c = pcVar48" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4d78;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(pcVar43 + 0x24);" (assignment_expression "pcVar31 = *(code **)(pcVar43 + 0x24)" identifier = (pointer_expression "*(code **)(pcVar43 + 0x24)" * (cast_expression "(code **)(pcVar43 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pcVar54 = (code *)&uStack_160;" (assignment_expression "pcVar54 = (code *)&uStack_160" identifier = (cast_expression "(code *)&uStack_160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_160" & identifier))) ;) (expression_statement "pcVar55 = param_5;" (assignment_expression "pcVar55 = param_5" identifier = identifier) ;) (expression_statement "pcVar56 = param_1;" (assignment_expression "pcVar56 = param_1" identifier = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26)" identifier = (call_expression "(*(code *)(iVar39 + -0x28cc))(pcVar26)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" ( (pointer_expression "*(code *)(iVar39 + -0x28cc)" * (cast_expression "(code *)(iVar39 + -0x28cc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x28cc)" ( (binary_expression "iVar39 + -0x28cc" identifier + number_literal) )))) )) (argument_list "(pcVar26)" ( identifier )))) ;) (if_statement "if (iVar32 == 0) goto LAB_000c4d78;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;)) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "(*(int *)(pcVar43 + 0x14) < 0)" ( (binary_expression "*(int *)(pcVar43 + 0x14) < 0" (pointer_expression "*(int *)(pcVar43 + 0x14)" * (cast_expression "(int *)(pcVar43 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }" { (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" identifier = (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = param_4;" (assignment_expression "param_5 = param_4" identifier = identifier) ;) }) (else_clause "else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" else (compound_statement "{\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" ( identifier , identifier , number_literal , number_literal , identifier , identifier , identifier ))))) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (if_statement "if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" if (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" ( (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" { (expression_statement "pcVar38 = pcVar6;" (assignment_expression "pcVar38 = pcVar6" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4c58;" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7bc4" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_5)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;) })) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar32 = (*pcVar38)(pcVar22,param_5,3);" (assignment_expression "iVar32 = (*pcVar38)(pcVar22,param_5,3)" identifier = (call_expression "(*pcVar38)(pcVar22,param_5,3)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(pcVar22,param_5,3)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar32 == 0) goto LAB_000c4c58;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c4c58;" goto statement_identifier ;)) (expression_statement "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) (expression_statement "*(code **)(pcVar43 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + 0x10)" * (cast_expression "(code **)(pcVar43 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x10)" ( (binary_expression "pcVar43 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (if_statement "if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" if (parenthesized_expression "(param_1 == (code *)0x2d)" ( (binary_expression "param_1 == (code *)0x2d" identifier == (cast_expression "(code *)0x2d" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" { (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;" (assignment_expression "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" identifier = (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" * (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" ( (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" if (parenthesized_expression "((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0)" ( (binary_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0" (parenthesized_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80)" ( (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" * (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" ( (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" if (parenthesized_expression "(((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0))" ( (binary_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)" (parenthesized_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d))" ( (binary_expression "(*param_5 == (code)0x35) || (*param_5 == (code)0x2d)" (parenthesized_expression "(*param_5 == (code)0x35)" ( (binary_expression "*param_5 == (code)0x35" (pointer_expression "*param_5" * identifier) == (cast_expression "(code)0x35" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(*param_5 == (code)0x2d)" ( (binary_expression "*param_5 == (code)0x2d" (pointer_expression "*param_5" * identifier) == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) && (parenthesized_expression "((*(uint *)(param_5 + 4) & 1) == 0)" ( (binary_expression "(*(uint *)(param_5 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_5 + 4) & 1)" ( (binary_expression "*(uint *)(param_5 + 4) & 1" (pointer_expression "*(uint *)(param_5 + 4)" * (cast_expression "(uint *)(param_5 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" { (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar39 = (*pcVar27)(iVar32);" (assignment_expression "iVar39 = (*pcVar27)(iVar32)" identifier = (call_expression "(*pcVar27)(iVar32)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10))" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(param_5 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" identifier = identifier) ;) (if_statement "if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" if (parenthesized_expression "(iVar39 == iVar29)" ( (binary_expression "iVar39 == iVar29" identifier == identifier) )) (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n        }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" else (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcVar27,pcVar37);" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" identifier = (call_expression "CONCAT44(pcVar27,pcVar37)" identifier (argument_list "(pcVar27,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;" if (parenthesized_expression "((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))" ( (binary_expression "(iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" (parenthesized_expression "(iVar39 < 0x43)" ( (binary_expression "iVar39 < 0x43" identifier < number_literal) )) || (parenthesized_expression "(uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" ( (comma_expression "uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" identifier = (call_expression "CONCAT44(pcVar27,pcVar37)" identifier (argument_list "(pcVar27,pcVar37)" ( identifier , identifier )))) , (binary_expression "iVar29 < 0x43" identifier < number_literal)) ))) )) (goto_statement "goto LAB_000c5710;" goto statement_identifier ;)) }))) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x7808)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x7808" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }" { (labeled_statement "LAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);" statement_identifier : (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000c5968:\n          uVar13 = 0x800;" statement_identifier : (expression_statement "uVar13 = 0x800;" (assignment_expression "uVar13 = 0x800" identifier = number_literal) ;)) (expression_statement "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;" (assignment_expression "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar14 | 0x800" identifier | number_literal)) ;) }) (else_clause "else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" else (compound_statement "{\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" { (if_statement "if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" if (parenthesized_expression "((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0))" ( (binary_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)" (parenthesized_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0)" ( (binary_expression "*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(iVar32 + 0xc)" * (cast_expression "(int *)(iVar32 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0xc)" ( (binary_expression "iVar32 + 0xc" identifier + number_literal) )))) == (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "(*(int *)(iVar32 + 8) == 0)" ( (binary_expression "*(int *)(iVar32 + 8) == 0" (pointer_expression "*(int *)(iVar32 + 8)" * (cast_expression "(int *)(iVar32 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 8)" ( (binary_expression "iVar32 + 8" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" { (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000c5968;" goto statement_identifier ;) })) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x7c14" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" ( identifier , (pointer_expression "*(undefined4 *)(param_5 + 0xc)" * (cast_expression "(undefined4 *)(param_5 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_5 + 0x10)" * (cast_expression "(undefined4 *)(param_5 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar32 != 0) goto LAB_000c5964;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c5964;" goto statement_identifier ;)) }))) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) })) }) (else_clause "else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" else (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" { (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);" statement_identifier : (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "uVar18 = *(uint *)(iVar39 + 4) & 0x100;" (assignment_expression "uVar18 = *(uint *)(iVar39 + 4) & 0x100" identifier = (binary_expression "*(uint *)(iVar39 + 4) & 0x100" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" if (parenthesized_expression "(uVar18 == (*(uint *)(iVar32 + 4) & 0x100))" ( (binary_expression "uVar18 == (*(uint *)(iVar32 + 4) & 0x100)" identifier == (parenthesized_expression "(*(uint *)(iVar32 + 4) & 0x100)" ( (binary_expression "*(uint *)(iVar32 + 4) & 0x100" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) & number_literal) ))) )) (compound_statement "{\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" { (if_statement "if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" if (parenthesized_expression "(uVar18 == 0)" ( (binary_expression "uVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x75dc)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x75dc" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17)" ( identifier )))) ;) (if_statement "if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" { (expression_statement "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;" (assignment_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" * (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" ( (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" * (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" ( (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) }) (else_clause "else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" else (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" { (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" identifier = (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" identifier = (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) }))) })) (expression_statement "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcStack_18c = (code *)uVar49;" (assignment_expression "pcStack_18c = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int *)(param_5 + 0xc) = iVar39;" (assignment_expression "*(int *)(param_5 + 0xc) = iVar39" (pointer_expression "*(int *)(param_5 + 0xc)" * (cast_expression "(int *)(param_5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(param_5 + 0x10) = iVar32;" (assignment_expression "*(int *)(param_5 + 0x10) = iVar32" (pointer_expression "*(int *)(param_5 + 0x10)" * (cast_expression "(int *)(param_5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x10)" ( (binary_expression "param_5 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" if (parenthesized_expression "(0x35 < (byte)*param_5)" ( (binary_expression "0x35 < (byte)*param_5" number_literal < (binary_expression "(byte)*param_5" (parenthesized_expression "(byte)" ( identifier )) * identifier)) )) (compound_statement "{\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" { (expression_statement "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);" (assignment_expression "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (pointer_expression "*param_5" * identifier) = (call_expression "(code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(((char)*param_5 - 0x36U ^ 2) + 0x36)" ( (binary_expression "((char)*param_5 - 0x36U ^ 2) + 0x36" (parenthesized_expression "((char)*param_5 - 0x36U ^ 2)" ( (binary_expression "(char)*param_5 - 0x36U ^ 2" (binary_expression "(char)*param_5 - 0x36U" (cast_expression "(char)*param_5" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_5" * identifier)) - number_literal) ^ number_literal) )) + number_literal) )))) ;) })) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" * (cast_expression "(undefined8 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;" (assignment_expression "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" * (cast_expression "(uint *)(pcVar43 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x20)" ( (binary_expression "pcVar43 + 0x20" identifier + number_literal) )))) = (binary_expression "uStack_198 | (uint)pcStack_1a4" identifier | (cast_expression "(uint)pcStack_1a4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" identifier (argument_list "(pcStack_1a4,uStack_194 | (uint)pcVar42)" ( identifier , (binary_expression "uStack_194 | (uint)pcVar42" identifier | (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;" (assignment_expression "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" * (cast_expression "(uint *)(pcVar43 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x24)" ( (binary_expression "pcVar43 + 0x24" identifier + number_literal) )))) = (binary_expression "uStack_194 | (uint)pcVar42" identifier | (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" * (cast_expression "(undefined4 *)(pcVar43 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x1c)" ( (binary_expression "pcVar43 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = (uint)(byte)*param_5;" (assignment_expression "uVar18 = (uint)(byte)*param_5" identifier = (binary_expression "(uint)(byte)*param_5" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x31)" ( (binary_expression "uVar18 == 0x31" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 1;\n  }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) }) (else_clause "else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x32)" ( (binary_expression "uVar18 == 0x32" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 0x100;\n  }" { (expression_statement "uVar18 = 0x100;" (assignment_expression "uVar18 = 0x100" identifier = number_literal) ;) }) (else_clause "else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (if_statement "if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" if (parenthesized_expression "(uVar18 == 0x2d)" ( (binary_expression "uVar18 == 0x2d" identifier == number_literal) )) (compound_statement "{\n    uVar18 = 0x80;\n  }" { (expression_statement "uVar18 = 0x80;" (assignment_expression "uVar18 = 0x80" identifier = number_literal) ;) }) (else_clause "else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" else (compound_statement "{\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" { (expression_statement "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;" (assignment_expression "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff" identifier = (binary_expression "2 << (uVar18 - 0x35 & 0x1f) & 0xffff" (binary_expression "2 << (uVar18 - 0x35 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 - 0x35 & 0x1f)" ( (binary_expression "uVar18 - 0x35 & 0x1f" (binary_expression "uVar18 - 0x35" identifier - number_literal) & number_literal) ))) & number_literal)) ;) }))))))) (expression_statement "param_1 = (code *)(uVar13 + uVar18);" (assignment_expression "param_1 = (code *)(uVar13 + uVar18)" identifier = (cast_expression "(code *)(uVar13 + uVar18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar18)" ( (binary_expression "uVar13 + uVar18" identifier + identifier) )))) ;) (expression_statement "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" * (cast_expression "(ushort *)(pcVar43 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = (binary_expression "(ushort)param_1 & uVar23" (cast_expression "(ushort)param_1" ( (type_descriptor "ushort" type_identifier) ) identifier) & identifier)) ;) (expression_statement "pcVar38 = pcVar43;" (assignment_expression "pcVar38 = pcVar43" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (labeled_statement "LAB_000c4d78:\n  pcVar43 = pcVar46;" statement_identifier : (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" identifier = identifier) ;)) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(pcVar22[8] == (code)0x2c)" ( (binary_expression "pcVar22[8] == (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) == (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" if (parenthesized_expression "(uVar13 == 0x9d)" ( (binary_expression "uVar13 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" { (expression_statement "pcVar31 = (code *)0x1;" (assignment_expression "pcVar31 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" if (parenthesized_expression "(*(int **)(param_4 + 0x14) != (int *)0x0)" ( (binary_expression "*(int **)(param_4 + 0x14) != (int *)0x0" (pointer_expression "*(int **)(param_4 + 0x14)" * (cast_expression "(int **)(param_4 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" { (expression_statement "iVar39 = **(int **)(param_4 + 0x14);" (assignment_expression "iVar39 = **(int **)(param_4 + 0x14)" identifier = (pointer_expression "**(int **)(param_4 + 0x14)" * (pointer_expression "*(int **)(param_4 + 0x14)" * (cast_expression "(int **)(param_4 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "pcVar38 = *(code **)pcVar17;" (assignment_expression "pcVar38 = *(code **)pcVar17" identifier = (pointer_expression "*(code **)pcVar17" * (cast_expression "(code **)pcVar17" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + 0x9b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + 0x9b4" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" ( identifier , (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "pcVar42 = (code *)uVar53;" (assignment_expression "pcVar42 = (code *)uVar53" identifier = (cast_expression "(code *)uVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }" { (labeled_statement "LAB_000c55a8:\n          cVar15 = pcVar22[8];" statement_identifier : (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;)) (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" identifier = identifier) ;) }) (else_clause "else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" else (compound_statement "{\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" { (expression_statement "pcStack_190 = *(code **)(iVar32 + 4);" (assignment_expression "pcStack_190 = *(code **)(iVar32 + 4)" identifier = (pointer_expression "*(code **)(iVar32 + 4)" * (cast_expression "(code **)(iVar32 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;" if (parenthesized_expression "(((uint)pcStack_190 & 4) == 0)" ( (binary_expression "((uint)pcStack_190 & 4) == 0" (parenthesized_expression "((uint)pcStack_190 & 4)" ( (binary_expression "(uint)pcStack_190 & 4" (cast_expression "(uint)pcStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;)) (expression_statement "iVar29 = *(int *)(param_4 + 0x14);" (assignment_expression "iVar29 = *(int *)(param_4 + 0x14)" identifier = (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" if (parenthesized_expression "(2 < iVar39)" ( (binary_expression "2 < iVar39" number_literal < identifier) )) (compound_statement "{\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" { (if_statement "if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" if (parenthesized_expression "(**(char **)(iVar29 + 0x2c) == 'j')" ( (binary_expression "**(char **)(iVar29 + 0x2c) == 'j'" (pointer_expression "**(char **)(iVar29 + 0x2c)" * (pointer_expression "*(char **)(iVar29 + 0x2c)" * (cast_expression "(char **)(iVar29 + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) ))))) == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" { (expression_statement "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);" (assignment_expression "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8)" identifier = (pointer_expression "*(byte **)(*(char **)(iVar29 + 0x2c) + 8)" * (cast_expression "(byte **)(*(char **)(iVar29 + 0x2c) + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(iVar29 + 0x2c) + 8)" ( (binary_expression "*(char **)(iVar29 + 0x2c) + 8" (pointer_expression "*(char **)(iVar29 + 0x2c)" * (cast_expression "(char **)(iVar29 + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (if_statement "if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;" if (parenthesized_expression "((bVar2 != 0) && (pbVar7[1] == 0))" ( (binary_expression "(bVar2 != 0) && (pbVar7[1] == 0)" (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(pbVar7[1] == 0)" ( (binary_expression "pbVar7[1] == 0" (subscript_expression "pbVar7[1]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_000c50e4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) (expression_statement "bStack_155 = 0;" (assignment_expression "bStack_155 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = bStack_155;" (assignment_expression "bVar2 = bStack_155" identifier = identifier) ;) (labeled_statement "LAB_000c50e4:\n          bStack_155 = bVar2;" statement_identifier : (expression_statement "bStack_155 = bVar2;" (assignment_expression "bStack_155 = bVar2" identifier = identifier) ;)) (expression_statement "pbVar7 = *(byte **)(iVar32 + 8);" (assignment_expression "pbVar7 = *(byte **)(iVar32 + 8)" identifier = (pointer_expression "*(byte **)(iVar32 + 8)" * (cast_expression "(byte **)(iVar32 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 8)" ( (binary_expression "iVar32 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar40 = *(char **)(iVar29 + 4);" (assignment_expression "pcVar40 = *(char **)(iVar29 + 4)" identifier = (pointer_expression "*(char **)(iVar29 + 4)" * (cast_expression "(char **)(iVar29 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) ))))) ;) (expression_statement "bStack_158 = *pbVar7;" (assignment_expression "bStack_158 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "bStack_157 = pbVar7[1];" (assignment_expression "bStack_157 = pbVar7[1]" identifier = (subscript_expression "pbVar7[1]" identifier [ number_literal ])) ;) (expression_statement "bStack_156 = pbVar7[2];" (assignment_expression "bStack_156 = pbVar7[2]" identifier = (subscript_expression "pbVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" if (parenthesized_expression "(pcVar40 == (char *)0x0)" ( (binary_expression "pcVar40 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" { (labeled_statement "LAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);" statement_identifier : (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" identifier = (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) ))))) ;) (while_statement "while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" while (parenthesized_expression "((uVar13 & 0x1000) != 0)" ( (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" ( (binary_expression "uVar13 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" { (if_statement "if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" if (parenthesized_expression "((uVar13 & 0x40000) == 0)" ( (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" ( (binary_expression "uVar13 & 0x40000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }" { (expression_statement "pcVar40 = *(char **)(pcVar40 + 0xc);" (assignment_expression "pcVar40 = *(char **)(pcVar40 + 0xc)" identifier = (pointer_expression "*(char **)(pcVar40 + 0xc)" * (cast_expression "(char **)(pcVar40 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0xc)" ( (binary_expression "pcVar40 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" else (compound_statement "{\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" { (expression_statement "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);" (assignment_expression "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4)" identifier = (pointer_expression "*(char **)(*(int *)(pcVar40 + 0x14) + 4)" * (cast_expression "(char **)(*(int *)(pcVar40 + 0x14) + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar40 + 0x14) + 4)" ( (binary_expression "*(int *)(pcVar40 + 0x14) + 4" (pointer_expression "*(int *)(pcVar40 + 0x14)" * (cast_expression "(int *)(pcVar40 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (pcVar40 == (char *)0x0) goto LAB_000c5154;" if (parenthesized_expression "(pcVar40 == (char *)0x0)" ( (binary_expression "pcVar40 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5154;" goto statement_identifier ;)) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" identifier = (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) ))))) ;) })) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (expression_statement "pcVar35 = *(char **)(iVar29 + 0x18);" (assignment_expression "pcVar35 = *(char **)(iVar29 + 0x18)" identifier = (pointer_expression "*(char **)(iVar29 + 0x18)" * (cast_expression "(char **)(iVar29 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (compound_statement "{\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }" { (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" if (parenthesized_expression "(-1 < *(int *)(pcVar38 + 0x24) << 8)" ( (binary_expression "-1 < *(int *)(pcVar38 + 0x24) << 8" number_literal < (binary_expression "*(int *)(pcVar38 + 0x24) << 8" (pointer_expression "*(int *)(pcVar38 + 0x24)" * (cast_expression "(int *)(pcVar38 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x24)" ( (binary_expression "pcVar38 + 0x24" identifier + number_literal) )))) << number_literal)) )) (compound_statement "{\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" { (expression_statement "iVar32 = *(int *)(pcVar40 + 0x20);" (assignment_expression "iVar32 = *(int *)(pcVar40 + 0x20)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32)" identifier = (call_expression "CONCAT44(pcVar35,iVar32)" identifier (argument_list "(pcVar35,iVar32)" ( identifier , identifier )))) ;) (expression_statement "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);" (assignment_expression "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + 0x6c04)" ( (binary_expression "*(int *)(puVar47 + 0x96c48) + 0x6c04" (pointer_expression "*(int *)(puVar47 + 0x96c48)" * (cast_expression "(int *)(puVar47 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c48)" ( (binary_expression "puVar47 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(pcVar17 + 0xd8),iVar32)" ( (pointer_expression "*(undefined4 *)(pcVar17 + 0xd8)" * (cast_expression "(undefined4 *)(pcVar17 + 0xd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0xd8)" ( (binary_expression "pcVar17 + 0xd8" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" if (parenthesized_expression "(param_1 == (code *)0x0)" ( (binary_expression "param_1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" { (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" identifier = (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" else (compound_statement "{\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" { (expression_statement "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);" (assignment_expression "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1)" identifier = (call_expression "(**(code **)(puVar47 + 0x96b30))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b30))" ( (pointer_expression "**(code **)(puVar47 + 0x96b30)" * (pointer_expression "*(code **)(puVar47 + 0x96b30)" * (cast_expression "(code **)(puVar47 + 0x96b30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96b30)" ( (binary_expression "puVar47 + 0x96b30" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" if (parenthesized_expression "(iVar39 == 3)" ( (binary_expression "iVar39 == 3" identifier == number_literal) )) (compound_statement "{\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" { (expression_statement "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);" (assignment_expression "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" identifier = (cast_expression "(byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar47 + 0x96b4c))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b4c))" ( (pointer_expression "**(code **)(puVar47 + 0x96b4c)" * (pointer_expression "*(code **)(puVar47 + 0x96b4c)" * (cast_expression "(code **)(puVar47 + 0x96b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96b4c)" ( (binary_expression "puVar47 + 0x96b4c" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" if (parenthesized_expression "(iVar32 < 0x20)" ( (binary_expression "iVar32 < 0x20" identifier < number_literal) )) (compound_statement "{\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }" { (expression_statement "uVar13 = 1 << (iVar32 - 1U & 0x1f);" (assignment_expression "uVar13 = 1 << (iVar32 - 1U & 0x1f)" identifier = (binary_expression "1 << (iVar32 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar32 - 1U & 0x1f)" ( (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" identifier - number_literal) & number_literal) )))) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,uVar13);" (assignment_expression "uVar49 = CONCAT44(pcVar35,uVar13)" identifier = (call_expression "CONCAT44(pcVar35,uVar13)" identifier (argument_list "(pcVar35,uVar13)" ( identifier , identifier )))) ;) (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) | identifier)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }) (else_clause "else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" else (compound_statement "{\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }))) (goto_statement "goto LAB_000c517c;" goto statement_identifier ;) })) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" identifier = (pointer_expression "*(int *)(pcVar17 + 8)" * (cast_expression "(int *)(pcVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" identifier = (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" if (parenthesized_expression "(iVar32 < 0x20)" ( (binary_expression "iVar32 < 0x20" identifier < number_literal) )) (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "1 << (iVar32 - 1U & 0x1f) | uVar13" (binary_expression "1 << (iVar32 - 1U & 0x1f)" number_literal << (parenthesized_expression "(iVar32 - 1U & 0x1f)" ( (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" identifier - number_literal) & number_literal) ))) | identifier)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32 - 1U);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32 - 1U)" identifier = (call_expression "CONCAT44(pcVar35,iVar32 - 1U)" identifier (argument_list "(pcVar35,iVar32 - 1U)" ( identifier , (binary_expression "iVar32 - 1U" identifier - number_literal) )))) ;) }) (else_clause "else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" else (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" { (expression_statement "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" * (cast_expression "(uint *)(iVar39 + 0xd0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xd0)" ( (binary_expression "iVar39 + 0xd0" identifier + number_literal) )))) = (binary_expression "uVar13 | 0x80000000" identifier | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) }))) })) }) (else_clause "else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" else (compound_statement "{\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" { (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(cVar16 == 'j')" ( (binary_expression "cVar16 == 'j'" identifier == (char_literal "'j'" ' character ')) )) (compound_statement "{\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" { (expression_statement "pbVar7 = *(byte **)(pcVar40 + 8);" (assignment_expression "pbVar7 = *(byte **)(pcVar40 + 8)" identifier = (pointer_expression "*(byte **)(pcVar40 + 8)" * (cast_expression "(byte **)(pcVar40 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" statement_identifier : (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "iVar32 = (int)uVar49;" (assignment_expression "iVar32 = (int)uVar49" identifier = (cast_expression "(int)uVar49" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" if (parenthesized_expression "(pbVar7 != (byte *)0x0)" ( (binary_expression "pbVar7 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" { (expression_statement "in_t4 = (code *)(uint)*pbVar7;" (assignment_expression "in_t4 = (code *)(uint)*pbVar7" identifier = (binary_expression "(code *)(uint)*pbVar7" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "in_t2 = (code *)(uint)bStack_157;" (assignment_expression "in_t2 = (code *)(uint)bStack_157" identifier = (cast_expression "(code *)(uint)bStack_157" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_157" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "in_t3 = (code *)(uint)bStack_156;" (assignment_expression "in_t3 = (code *)(uint)bStack_156" identifier = (cast_expression "(code *)(uint)bStack_156" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_156" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar48 = (code *)(uint)bStack_155;" (assignment_expression "pcVar48 = (code *)(uint)bStack_155" identifier = (cast_expression "(code *)(uint)bStack_155" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_155" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pcVar27 = in_t4;" (assignment_expression "pcVar27 = in_t4" identifier = identifier) ;) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) (while_statement "while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" while (parenthesized_expression "((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)))" ( (parenthesized_expression "(((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))" ( (binary_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)" (parenthesized_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27))" ( (binary_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)" (parenthesized_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27))" ( (comma_expression "iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "iVar29 = iVar39" identifier = identifier) , (comma_expression "pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) , (binary_expression "pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((code *)(uint)bStack_158 != pcVar27)" ( (binary_expression "(code *)(uint)bStack_158 != pcVar27" (cast_expression "(code *)(uint)bStack_158" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) != identifier) ))))) )) && (parenthesized_expression "(in_t2 != pcVar27)" ( (binary_expression "in_t2 != pcVar27" identifier != identifier) ))) )) && (parenthesized_expression "(iVar32 = iVar29 + 1, in_t3 != pcVar27)" ( (comma_expression "iVar32 = iVar29 + 1, in_t3 != pcVar27" (assignment_expression "iVar32 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) , (binary_expression "in_t3 != pcVar27" identifier != identifier)) ))) )) )) (compound_statement "{\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" { (expression_statement "pcVar31 = (code *)(pbVar7 + iVar32);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar32)" identifier = (cast_expression "(code *)(pbVar7 + iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + iVar32)" ( (binary_expression "pbVar7 + iVar32" identifier + identifier) )))) ;) (expression_statement "bVar45 = pcVar48 == pcVar27;" (assignment_expression "bVar45 = pcVar48 == pcVar27" identifier = (binary_expression "pcVar48 == pcVar27" identifier == identifier)) ;) (expression_statement "pcVar27 = (code *)(uint)(byte)*pcVar31;" (assignment_expression "pcVar27 = (code *)(uint)(byte)*pcVar31" identifier = (binary_expression "(code *)(uint)(byte)*pcVar31" (cast_expression "(code *)(uint)(byte)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" identifier = identifier) ;) (if_statement "if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" if (parenthesized_expression "(bVar45)" ( identifier )) (compound_statement "{\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" { (if_statement "if (pcVar27 == (code *)0x0) goto LAB_000c51d0;" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c51d0;" goto statement_identifier ;)) (expression_statement "iVar32 = iVar29 + 2;" (assignment_expression "iVar32 = iVar29 + 2" identifier = (binary_expression "iVar29 + 2" identifier + number_literal)) ;) (expression_statement "pcVar27 = (code *)(uint)pbVar7[iVar32];" (assignment_expression "pcVar27 = (code *)(uint)pbVar7[iVar32]" identifier = (cast_expression "(code *)(uint)pbVar7[iVar32]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar7[iVar32]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[iVar32]" identifier [ identifier ])))) ;) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" identifier = identifier) ;) })) })) (expression_statement "pcVar31 = (code *)(pbVar7 + iVar29);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar29)" identifier = (cast_expression "(code *)(pbVar7 + iVar29)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar7 + iVar29)" ( (binary_expression "pbVar7 + iVar29" identifier + identifier) )))) ;) (expression_statement "iVar39 = iVar29;" (assignment_expression "iVar39 = iVar29" identifier = identifier) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" { (labeled_statement "LAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);" statement_identifier : (expression_statement "uVar50 = CONCAT44(pcVar35,iVar39);" (assignment_expression "uVar50 = CONCAT44(pcVar35,iVar39)" identifier = (call_expression "CONCAT44(pcVar35,iVar39)" identifier (argument_list "(pcVar35,iVar39)" ( identifier , identifier )))) ;)) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar39);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar39)" identifier (argument_list "(pcStack_1a4,iVar39)" ( identifier , identifier )))) ;) (if_statement "if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" if (parenthesized_expression "((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))))" ( (binary_expression "(pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" (parenthesized_expression "(pcVar31[-1] != (code)0xff)" ( (binary_expression "pcVar31[-1] != (code)0xff" (subscript_expression "pcVar31[-1]" identifier [ number_literal ]) != (cast_expression "(code)0xff" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" ( (parenthesized_expression "(iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))" ( (binary_expression "iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" (binary_expression "iVar39 != 1" identifier != number_literal) || (parenthesized_expression "(uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" ( (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar39)" identifier (argument_list "(pcStack_1a4,iVar39)" ( identifier , identifier )))) , (binary_expression "pcVar48 != in_t4" identifier != identifier)) ))) )) ))) )) (compound_statement "{\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" { (if_statement "if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }" if (parenthesized_expression "((code *)(uint)bStack_158 == pcVar27)" ( (binary_expression "(code *)(uint)bStack_158 == pcVar27" (cast_expression "(code *)(uint)bStack_158" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bStack_158" ( (type_descriptor "uint" type_identifier) ) identifier)) == identifier) )) (compound_statement "{\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }" { (expression_statement "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);" (assignment_expression "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0)" identifier = (cast_expression "(code *)(uint)(pcVar31[1] == (code)0x0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar31[1] == (code)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar31[1] == (code)0x0)" ( (binary_expression "pcVar31[1] == (code)0x0" (subscript_expression "pcVar31[1]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))))) ;) }) (else_clause "else {\n                      pcStack_18c = (code *)0x0;\n                    }" else (compound_statement "{\n                      pcStack_18c = (code *)0x0;\n                    }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x19d0)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x19d0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar38,0x6a,pbVar7)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" identifier = identifier) ;) (if_statement "if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" if (parenthesized_expression "(param_5 == (code *)0x0)" ( (binary_expression "param_5 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }" { (if_statement "if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (compound_statement "{\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }" { (labeled_statement "LAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);" statement_identifier : (expression_statement "piVar41 = *(int **)(pcVar17 + 8);" (assignment_expression "piVar41 = *(int **)(pcVar17 + 8)" identifier = (pointer_expression "*(int **)(pcVar17 + 8)" * (cast_expression "(int **)(pcVar17 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 8)" ( (binary_expression "pcVar17 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" if (parenthesized_expression "(*(int *)(pcVar40 + 0x20) < 0x20)" ( (binary_expression "*(int *)(pcVar40 + 0x20) < 0x20" (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }" { (expression_statement "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];" (assignment_expression "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" identifier = (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" number_literal << (parenthesized_expression "(*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" ( (binary_expression "*(int *)(pcVar40 + 0x20) - 1U & 0x1f" (binary_expression "*(int *)(pcVar40 + 0x20) - 1U" (pointer_expression "*(int *)(pcVar40 + 0x20)" * (cast_expression "(int *)(pcVar40 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x20)" ( (binary_expression "pcVar40 + 0x20" identifier + number_literal) )))) - number_literal) & number_literal) ))) | (subscript_expression "piVar41[0x34]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" else (compound_statement "{\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" { (expression_statement "uVar13 = piVar41[0x34] | 0x80000000;" (assignment_expression "uVar13 = piVar41[0x34] | 0x80000000" identifier = (binary_expression "piVar41[0x34] | 0x80000000" (subscript_expression "piVar41[0x34]" identifier [ number_literal ]) | number_literal)) ;) }))) (expression_statement "piVar41[0x34] = uVar13;" (assignment_expression "piVar41[0x34] = uVar13" (subscript_expression "piVar41[0x34]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) (if_statement "if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" if (parenthesized_expression "((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'))" ( (binary_expression "(pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" (parenthesized_expression "(pcStack_18c != (code *)0x0)" ( (binary_expression "pcStack_18c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" ( (binary_expression "*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'" (pointer_expression "*(char *)(*(int *)(pcVar40 + 8) + 1)" * (cast_expression "(char *)(*(int *)(pcVar40 + 8) + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar40 + 8) + 1)" ( (binary_expression "*(int *)(pcVar40 + 8) + 1" (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" { (expression_statement "cVar15 = (code)((char)pcVar17[0x13] - 1);" (assignment_expression "cVar15 = (code)((char)pcVar17[0x13] - 1)" identifier = (call_expression "(code)((char)pcVar17[0x13] - 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcVar17[0x13] - 1)" ( (binary_expression "(char)pcVar17[0x13] - 1" (cast_expression "(char)pcVar17[0x13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar17[0x13]" identifier [ number_literal ])) - number_literal) )))) ;) (if_statement "if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" if (parenthesized_expression "(pcVar17[0x13] == (code)0x0)" ( (binary_expression "pcVar17[0x13] == (code)0x0" (subscript_expression "pcVar17[0x13]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }" { (expression_statement "iVar32 = *(int *)(pcVar17 + 0x2c) + 1;" (assignment_expression "iVar32 = *(int *)(pcVar17 + 0x2c) + 1" identifier = (binary_expression "*(int *)(pcVar17 + 0x2c) + 1" (pointer_expression "*(int *)(pcVar17 + 0x2c)" * (cast_expression "(int *)(pcVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2c)" ( (binary_expression "pcVar17 + 0x2c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(pcVar17 + 0x2c) = iVar32;" (assignment_expression "*(int *)(pcVar17 + 0x2c) = iVar32" (pointer_expression "*(int *)(pcVar17 + 0x2c)" * (cast_expression "(int *)(pcVar17 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x2c)" ( (binary_expression "pcVar17 + 0x2c" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" else (compound_statement "{\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" { (expression_statement "pcVar17[0x13] = cVar15;" (assignment_expression "pcVar17[0x13] = cVar15" (subscript_expression "pcVar17[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);" (assignment_expression "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" identifier = (pointer_expression "*(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" * (cast_expression "(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + ((byte)cVar15 + 0x24) * 4)" ( (binary_expression "pcVar17 + ((byte)cVar15 + 0x24) * 4" identifier + (binary_expression "((byte)cVar15 + 0x24) * 4" (parenthesized_expression "((byte)cVar15 + 0x24)" ( (binary_expression "(byte)cVar15 + 0x24" (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier) + number_literal) )) * number_literal)) ))))) ;) }))) (expression_statement "FUN_000bea74(pcVar17,pcVar40,iVar32);" (call_expression "FUN_000bea74(pcVar17,pcVar40,iVar32)" identifier (argument_list "(pcVar17,pcVar40,iVar32)" ( identifier , identifier , identifier ))) ;) (if_statement "if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" if (parenthesized_expression "(*(char *)(*piVar41 + 0x51) == '\0')" ( (binary_expression "*(char *)(*piVar41 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar41 + 0x51)" * (cast_expression "(char *)(*piVar41 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0x51)" ( (binary_expression "*piVar41 + 0x51" (pointer_expression "*piVar41" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }" { (expression_statement "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];" (assignment_expression "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" identifier = (binary_expression "(piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" (binary_expression "(piVar41[0x1b] + -1) * 0x14" (parenthesized_expression "(piVar41[0x1b] + -1)" ( (binary_expression "piVar41[0x1b] + -1" (subscript_expression "piVar41[0x1b]" identifier [ number_literal ]) + number_literal) )) * number_literal) + (subscript_expression "piVar41[0x1a]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" else (compound_statement "{\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514" identifier = (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x4514" (pointer_expression "*(int *)(puVar47 + 0x96b10)" * (cast_expression "(int *)(puVar47 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b10)" ( (binary_expression "puVar47 + 0x96b10" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "*(undefined4 *)(iVar39 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar39 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" * (cast_expression "(undefined4 *)(iVar39 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xc)" ( (binary_expression "iVar39 + 0xc" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" { (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + -0x7cb0" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar17,iVar32)" ( identifier , identifier ))) ;) })) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar32 + -0x4bcc))(param_1);" (call_expression "(*(code *)(iVar32 + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(iVar32 + -0x4bcc))" ( (pointer_expression "*(code *)(iVar32 + -0x4bcc)" * (cast_expression "(code *)(iVar32 + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x4bcc)" ( (binary_expression "iVar32 + -0x4bcc" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (if_statement "if (param_5 != (code *)0x0) goto LAB_000c52d0;" if (parenthesized_expression "(param_5 != (code *)0x0)" ( (binary_expression "param_5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c52d0;" goto statement_identifier ;)) }) (else_clause "else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" else (compound_statement "{\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) }))) }) (else_clause "else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" else (compound_statement "{\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" { (expression_statement "in_t2 = *(code **)(param_5 + 8);" (assignment_expression "in_t2 = *(code **)(param_5 + 8)" identifier = (pointer_expression "*(code **)(param_5 + 8)" * (cast_expression "(code **)(param_5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "in_t2[iVar39] = (code)0x0;" (assignment_expression "in_t2[iVar39] = (code)0x0" (subscript_expression "in_t2[iVar39]" identifier [ identifier ]) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);" do (compound_statement "{\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      }" { (expression_statement "cVar15 = in_t2[iVar32];" (assignment_expression "cVar15 = in_t2[iVar32]" identifier = (subscript_expression "in_t2[iVar32]" identifier [ identifier ])) ;) (expression_statement "iVar19 = iVar32 + 1;" (assignment_expression "iVar19 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (if_statement "if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" if (parenthesized_expression "((code *)(int)(char)cVar15 == pcVar48)" ( (binary_expression "(code *)(int)(char)cVar15 == pcVar48" (cast_expression "(code *)(int)(char)cVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)cVar15" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)cVar15" ( (type_descriptor "char" primitive_type) ) identifier))) == identifier) )) (compound_statement "{\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" { (expression_statement "pcVar31 = in_t2 + iVar19;" (assignment_expression "pcVar31 = in_t2 + iVar19" identifier = (binary_expression "in_t2 + iVar19" identifier + identifier)) ;) (expression_statement "iVar19 = iVar32 + 2;" (assignment_expression "iVar19 = iVar32 + 2" identifier = (binary_expression "iVar32 + 2" identifier + number_literal)) ;) (expression_statement "cVar15 = *pcVar31;" (assignment_expression "cVar15 = *pcVar31" identifier = (pointer_expression "*pcVar31" * identifier)) ;) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "in_t3 = in_t2 + iVar29;" (assignment_expression "in_t3 = in_t2 + iVar29" identifier = (binary_expression "in_t2 + iVar29" identifier + identifier)) ;) (expression_statement "in_t3[-1] = cVar15;" (assignment_expression "in_t3[-1] = cVar15" (subscript_expression "in_t3[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar32 = iVar19;" (assignment_expression "iVar32 = iVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 < iVar39)" ( (binary_expression "iVar19 < iVar39" identifier < identifier) )) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "*in_t3 = (code)0x0;" (assignment_expression "*in_t3 = (code)0x0" (pointer_expression "*in_t3" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "cVar15 = *in_t2;" (assignment_expression "cVar15 = *in_t2" identifier = (pointer_expression "*in_t2" * identifier)) ;) (expression_statement "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" identifier = (cast_expression "(code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x7b28 + (uint)(byte)cVar15)" ( (binary_expression "iVar32 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) )))) ;) (if_statement "if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" if (parenthesized_expression "(((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))))" ( (binary_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" (parenthesized_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d))" ( (binary_expression "(((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)" (parenthesized_expression "(((byte)*pcVar31 & 4) != 0)" ( (binary_expression "((byte)*pcVar31 & 4) != 0" (parenthesized_expression "((byte)*pcVar31 & 4)" ( (binary_expression "(byte)*pcVar31 & 4" (binary_expression "(byte)*pcVar31" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar15 == (code)0x2d)" ( (binary_expression "cVar15 == (code)0x2d" identifier == (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" ( (parenthesized_expression "(pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))" ( (comma_expression "pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) , (binary_expression "cVar15 == (code)0x2f && (iVar29 == 1)" (binary_expression "cVar15 == (code)0x2f" identifier == (cast_expression "(code)0x2f" ( (type_descriptor "code" type_identifier) ) number_literal)) && (parenthesized_expression "(iVar29 == 1)" ( (binary_expression "iVar29 == 1" identifier == number_literal) )))) )) ))) )) (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = pcVar48;" (assignment_expression "pcVar42 = pcVar48" identifier = identifier) ;) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) (if_statement "if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" if (parenthesized_expression "(*pcVar35 == -0x62)" ( (binary_expression "*pcVar35 == -0x62" (pointer_expression "*pcVar35" * identifier) == number_literal) )) (compound_statement "{\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar35)" ( identifier )))) ;) (if_statement "if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;" if (parenthesized_expression "((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))" ( (binary_expression "(iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" (parenthesized_expression "(iVar32 == 0x42)" ( (binary_expression "iVar32 == 0x42" identifier == number_literal) )) && (parenthesized_expression "(pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" ( (comma_expression "pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) , (binary_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (pointer_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar35 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar35 + 0x30)" * (cast_expression "(int *)(pcVar35 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x30)" ( (binary_expression "pcVar35 + 0x30" identifier + number_literal) )))) + number_literal) )))) == number_literal)) ))) )) (goto_statement "goto LAB_000c52ac;" goto statement_identifier ;)) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) ))))) ;) })) (expression_statement "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);" (call_expression "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5)" (parenthesized_expression "(*(code *)(iVar32 + 0x7bc4))" ( (pointer_expression "*(code *)(iVar32 + 0x7bc4)" * (cast_expression "(code *)(iVar32 + 0x7bc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x7bc4)" ( (binary_expression "iVar32 + 0x7bc4" identifier + number_literal) )))) )) (argument_list "(pcVar38,param_5)" ( identifier , identifier ))) ;) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" identifier = identifier) ;) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" identifier = identifier) ;) (goto_statement "goto LAB_000c6178;" goto statement_identifier ;) })) (labeled_statement "LAB_000c52ac:\n                      pcVar36 = pcVar35;" statement_identifier : (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;)) (if_statement "if (cVar16 == -0x70) goto LAB_000c6c34;" if (parenthesized_expression "(cVar16 == -0x70)" ( (binary_expression "cVar16 == -0x70" identifier == number_literal) )) (goto_statement "goto LAB_000c6c34;" goto statement_identifier ;)) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" identifier = (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" * (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" statement_identifier : (expression_statement "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" identifier = (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcVar6,param_5,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;)) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" identifier = identifier) ;) }))) (if_statement "if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" if (parenthesized_expression "(((uint)pcStack_190 & 8) == 0)" ( (binary_expression "((uint)pcStack_190 & 8) == 0" (parenthesized_expression "((uint)pcStack_190 & 8)" ( (binary_expression "(uint)pcStack_190 & 8" (cast_expression "(uint)pcStack_190" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }" { (if_statement "if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" if (parenthesized_expression "(*(char *)(*(int *)pcVar17 + 0x51) == '\0')" ( (binary_expression "*(char *)(*(int *)pcVar17 + 0x51) == '\0'" (pointer_expression "*(char *)(*(int *)pcVar17 + 0x51)" * (cast_expression "(char *)(*(int *)pcVar17 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar17 + 0x51)" ( (binary_expression "*(int *)pcVar17 + 0x51" (pointer_expression "*(int *)pcVar17" * (cast_expression "(int *)pcVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" { (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "pcVar27 = *(code **)(param_5 + 8);" (assignment_expression "pcVar27 = *(code **)(param_5 + 8)" identifier = (pointer_expression "*(code **)(param_5 + 8)" * (cast_expression "(code **)(param_5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) ))))) ;) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) (if_statement "if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" if (parenthesized_expression "(cVar15 != (code)0x0)" ( (binary_expression "cVar15 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (do_statement "do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);" do (compound_statement "{\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          }" { (expression_statement "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" identifier = (cast_expression "(code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x7b28 + (uint)(byte)cVar15)" ( (binary_expression "iVar39 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar39 + -0x7b28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) )))) ;) (expression_statement "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);" (assignment_expression "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" identifier = (pointer_expression "*(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" * (cast_expression "(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x7a28 + (uint)(byte)cVar15)" ( (binary_expression "iVar32 + -0x7a28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7a28" identifier + number_literal) + (cast_expression "(uint)(byte)cVar15" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier))) ))))) ;) (expression_statement "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));" (assignment_expression "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (pointer_expression "*pcVar27" * identifier) = (call_expression "(code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (parenthesized_expression "(code)" ( identifier )) (argument_list "((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" ( (binary_expression "(byte)cVar15 & ~((byte)*pcVar42 & 0x20)" (cast_expression "(byte)cVar15" ( (type_descriptor "byte" type_identifier) ) identifier) & (unary_expression "~((byte)*pcVar42 & 0x20)" ~ (parenthesized_expression "((byte)*pcVar42 & 0x20)" ( (binary_expression "(byte)*pcVar42 & 0x20" (binary_expression "(byte)*pcVar42" (parenthesized_expression "(byte)" ( identifier )) * identifier) & number_literal) )))) )))) ;) (expression_statement "pcVar27 = in_t2 + *(int *)(pcVar31 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(pcVar31 + 8)" identifier = (binary_expression "in_t2 + *(int *)(pcVar31 + 8)" identifier + (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "in_t2 = in_t2 + 1;" (assignment_expression "in_t2 = in_t2 + 1" identifier = (binary_expression "in_t2 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar27 = cVar24;" (assignment_expression "*pcVar27 = cVar24" (pointer_expression "*pcVar27" * identifier) = identifier) ;) (expression_statement "pcVar27 = in_t2 + *(int *)(param_5 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(param_5 + 8)" identifier = (binary_expression "in_t2 + *(int *)(param_5 + 8)" identifier + (pointer_expression "*(int *)(param_5 + 8)" * (cast_expression "(int *)(param_5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 8)" ( (binary_expression "param_5 + 8" identifier + number_literal) )))))) ;) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) }) while (parenthesized_expression "(cVar15 != (code)0x0)" ( (binary_expression "cVar15 != (code)0x0" identifier != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) })) })) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" if (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" ( (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }" { (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" identifier = (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }" { (expression_statement "bVar2 = *(byte *)(in_zero + -1);" (assignment_expression "bVar2 = *(byte *)(in_zero + -1)" identifier = (pointer_expression "*(byte *)(in_zero + -1)" * (cast_expression "(byte *)(in_zero + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) ))))) ;) (expression_statement "pbVar7 = (byte *)0xffffffff;" (assignment_expression "pbVar7 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" else (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" { (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" identifier = (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" ( (pointer_expression "**(code **)(puVar47 + 0x96efc)" * (pointer_expression "*(code **)(puVar47 + 0x96efc)" * (cast_expression "(code **)(puVar47 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96efc)" ( (binary_expression "puVar47 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" identifier = (cast_expression "(byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" identifier + (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" ( (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" ( (binary_expression "uVar13 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) }))) (if_statement "if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }" if (parenthesized_expression "(bVar2 == 0x40)" ( (binary_expression "bVar2 == 0x40" identifier == number_literal) )) (compound_statement "{\n                          pcStack_18c = (code *)0x0;\n                        }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;" (assignment_expression "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*pbVar7" * identifier) = (binary_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" * (cast_expression "(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" ( (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28" (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc)" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" else (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" identifier = (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" else (compound_statement "{\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" { (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" if (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" ( (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" identifier [ number_literal ]) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" { (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" identifier = (pointer_expression "*(int *)(pcVar31 + 8)" * (cast_expression "(int *)(pcVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 8)" ( (binary_expression "pcVar31 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }" { (expression_statement "cRamffffffff = *(char *)(in_zero + -1) + '\x01';" (assignment_expression "cRamffffffff = *(char *)(in_zero + -1) + '\x01'" identifier = (binary_expression "*(char *)(in_zero + -1) + '\x01'" (pointer_expression "*(char *)(in_zero + -1)" * (cast_expression "(char *)(in_zero + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_zero + -1)" ( (binary_expression "in_zero + -1" identifier + number_literal) )))) + (char_literal "'\x01'" ' escape_sequence '))) ;) }) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" else (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" { (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" identifier = (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" ( (pointer_expression "**(code **)(puVar47 + 0x96efc)" * (pointer_expression "*(code **)(puVar47 + 0x96efc)" * (cast_expression "(code **)(puVar47 + 0x96efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96efc)" ( (binary_expression "puVar47 + 0x96efc" identifier + number_literal) ))))) )) (argument_list "(iVar32)" ( identifier )))) ;) (expression_statement "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" identifier = (cast_expression "(char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" ( (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" identifier + (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" ( (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" ( (binary_expression "uVar13 & 0x3fffffff" identifier & number_literal) )) - number_literal) ))) )))) ;) (expression_statement "*pcVar40 = *pcVar40 + '\x01';" (assignment_expression "*pcVar40 = *pcVar40 + '\x01'" (pointer_expression "*pcVar40" * identifier) = (binary_expression "*pcVar40 + '\x01'" (pointer_expression "*pcVar40" * identifier) + (char_literal "'\x01'" ' escape_sequence '))) ;) }))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) ))))) ;) })) (expression_statement "iVar32 = iVar32 + -0x7be0;" (assignment_expression "iVar32 = iVar32 + -0x7be0" identifier = (binary_expression "iVar32 + -0x7be0" identifier + number_literal)) ;) }))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (if_statement "if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" if (parenthesized_expression "(pcStack_1a4 == (code *)0x0)" ( (binary_expression "pcStack_1a4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }" { (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,0,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,0,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,0,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,0,iVar32)" ( identifier , number_literal , identifier )))) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" identifier = (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x39,uVar8,param_5)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }" { (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" else (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" { (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar39 + 0x26)" * (cast_expression "(undefined2 *)(iVar39 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x26)" ( (binary_expression "iVar39 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar46 = (code *)(iVar29 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar29 + -0x73f4)" identifier = (cast_expression "(code *)(iVar29 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + -0x73f4)" ( (binary_expression "iVar29 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar39,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar39,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar39,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" identifier (argument_list "(pcVar26,pcVar22,param_5)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" else (compound_statement "{\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" { (expression_statement "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" identifier = (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,uVar8,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,uVar8,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,uVar8,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,uVar8,iVar32)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" identifier = (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x39,uVar8,param_5)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }" { (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" else (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" { (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" * (cast_expression "(undefined2 *)(iVar29 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26)" ( (binary_expression "iVar29 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar46 = (code *)(iVar19 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar19 + -0x73f4)" identifier = (cast_expression "(code *)(iVar19 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -0x73f4)" ( (binary_expression "iVar19 + -0x73f4" identifier + number_literal) )))) ;) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar29,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar29,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar29,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" identifier (argument_list "(pcVar26,pcVar22,param_5)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" identifier = (cast_expression "(code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcVar6,pcStack_1a4,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) }))) (expression_statement "pcStack_190 = (code *)(iVar29 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar29 + 0x4ac8)" identifier = (cast_expression "(code *)(iVar29 + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x4ac8)" ( (binary_expression "iVar29 + 0x4ac8" identifier + number_literal) )))) ;) (expression_statement "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32)" identifier = (call_expression "(*param_1)(pcVar17,pcStack_1a4,iVar32)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(pcVar17,pcStack_1a4,iVar32)" ( identifier , identifier , identifier )))) ;) (expression_statement "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);" (assignment_expression "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8)" identifier = (call_expression "(*pcVar27)(pcVar17,0x38,uVar8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pcVar17,0x38,uVar8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" { (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" * (cast_expression "(undefined2 *)(iVar32 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26)" ( (binary_expression "iVar32 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);" (assignment_expression "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103)" identifier = (cast_expression "(code *)(*pcVar46)(pcVar22,iVar32,0x103)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar46)(pcVar22,iVar32,0x103)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(pcVar22,iVar32,0x103)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,pcVar38);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,pcVar38)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,pcVar22,pcVar38)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar17)" identifier (argument_list "(pcStack_1a4,pcVar17)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" identifier = (call_expression "CONCAT44(pcVar36,pcVar42)" identifier (argument_list "(pcVar36,pcVar42)" ( identifier , identifier )))) ;) (if_statement "if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" if (parenthesized_expression "(pcStack_18c != (code *)0x0)" ( (binary_expression "pcStack_18c != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" { (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar17)" identifier (argument_list "(pcStack_1a4,pcVar17)" ( identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" identifier = (call_expression "CONCAT44(pcVar36,pcVar42)" identifier (argument_list "(pcVar36,pcVar42)" ( identifier , identifier )))) ;) })) (goto_statement "goto LAB_000c55a8;" goto statement_identifier ;) })) })) })) })) }))) (labeled_statement "LAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" ( (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" * (cast_expression "(int *)(puVar47 + 0x96c10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c10)" ( (binary_expression "puVar47 + 0x96c10" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))) ;)) (expression_statement "uVar53 = CONCAT44(pcVar35,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar35,pcVar42)" identifier = (call_expression "CONCAT44(pcVar35,pcVar42)" identifier (argument_list "(pcVar35,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(cVar15 != (code)0x2c)" ( (binary_expression "cVar15 != (code)0x2c" identifier != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) })) })) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar18 = (uint)uVar53;" (assignment_expression "uVar18 = (uint)uVar53" identifier = (cast_expression "(uint)uVar53" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar51 = CONCAT44(param_1,param_5);" (assignment_expression "uVar51 = CONCAT44(param_1,param_5)" identifier = (call_expression "CONCAT44(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "cVar15 = (code)0x2c;" (assignment_expression "cVar15 = (code)0x2c" identifier = (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(uVar13 == 0x9d)" ( (binary_expression "uVar13 == 0x9d" identifier == number_literal) )) (compound_statement "{\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }" { (expression_statement "pcVar38 = *(code **)(param_4 + 0x14);" (assignment_expression "pcVar38 = *(code **)(param_4 + 0x14)" identifier = (pointer_expression "*(code **)(param_4 + 0x14)" * (cast_expression "(code **)(param_4 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" if (parenthesized_expression "((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2))" ( (binary_expression "(pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)" (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(int *)pcVar38 == 2)" ( (binary_expression "*(int *)pcVar38 == 2" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" { (expression_statement "pcVar42 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x18)" * (cast_expression "(code **)(pcVar38 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x18)" ( (binary_expression "pcVar38 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" if (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" ( (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (comma_expression "cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "cVar24 = (code)0x6d" identifier = (cast_expression "(code)0x6d" ( (type_descriptor "code" type_identifier) ) number_literal)) , (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" { (expression_statement "in_t4 = (code *)0x0;" (assignment_expression "in_t4 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = (code *)(uint)**(byte **)(param_4 + 8);" (assignment_expression "in_t6 = (code *)(uint)**(byte **)(param_4 + 8)" identifier = (binary_expression "(code *)(uint)**(byte **)(param_4 + 8)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (pointer_expression "*(byte **)(param_4 + 8)" * (cast_expression "(byte **)(param_4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28" identifier = (binary_expression "*(int *)(puVar47 + 0x96bcc) + -0x7a28" (pointer_expression "*(int *)(puVar47 + 0x96bcc)" * (cast_expression "(int *)(puVar47 + 0x96bcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bcc)" ( (binary_expression "puVar47 + 0x96bcc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);" (assignment_expression "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b10) + -0x6da4)" ( (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x6da4" (pointer_expression "*(int *)(puVar47 + 0x96b10)" * (cast_expression "(int *)(puVar47 + 0x96b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b10)" ( (binary_expression "puVar47 + 0x96b10" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);" (assignment_expression "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" identifier = (cast_expression "(byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b34) + -0xfb4)" ( (binary_expression "*(int *)(puVar47 + 0x96b34) + -0xfb4" (pointer_expression "*(int *)(puVar47 + 0x96b34)" * (cast_expression "(int *)(puVar47 + 0x96b34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b34)" ( (binary_expression "puVar47 + 0x96b34" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_t5 = in_t3;" (assignment_expression "in_t5 = in_t3" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" { (expression_statement "pbVar30 = *(byte **)(param_4 + 8);" (assignment_expression "pbVar30 = *(byte **)(param_4 + 8)" identifier = (pointer_expression "*(byte **)(param_4 + 8)" * (cast_expression "(byte **)(param_4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = in_t6;" (assignment_expression "pcVar27 = in_t6" identifier = identifier) ;) (if_statement "if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" if (parenthesized_expression "(in_t6[iVar32] == cVar24)" ( (binary_expression "in_t6[iVar32] == cVar24" (subscript_expression "in_t6[iVar32]" identifier [ identifier ]) == identifier) )) (compound_statement "{\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" { (do_statement "do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));" do (compound_statement "{\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              }" { (if_statement "if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" { (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (expression_statement "pcVar46 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 4)" identifier = (pointer_expression "*(code **)(pcVar38 + 4)" * (cast_expression "(code **)(pcVar38 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 4)" ( (binary_expression "pcVar38 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "in_t4 = in_t3 + (int)in_t4 * 8;" (assignment_expression "in_t4 = in_t3 + (int)in_t4 * 8" identifier = (binary_expression "in_t3 + (int)in_t4 * 8" identifier + (binary_expression "(int)in_t4 * 8" (cast_expression "(int)in_t4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pcStack_18c = (code *)(uint)(byte)in_t4[4];" (assignment_expression "pcStack_18c = (code *)(uint)(byte)in_t4[4]" identifier = (cast_expression "(code *)(uint)(byte)in_t4[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)in_t4[4]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)in_t4[4]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "in_t4[4]" identifier [ number_literal ]))))) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (expression_statement "pbVar30 = pbVar30 + 1;" (assignment_expression "pbVar30 = pbVar30 + 1" identifier = (binary_expression "pbVar30 + 1" identifier + number_literal)) ;) (expression_statement "pbVar1 = pbVar7 + 1;" (assignment_expression "pbVar1 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = (code *)(uint)*pbVar30;" (assignment_expression "pcVar31 = (code *)(uint)*pbVar30" identifier = (binary_expression "(code *)(uint)*pbVar30" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "uVar18 = (uint)(byte)pcVar31[iVar32];" (assignment_expression "uVar18 = (uint)(byte)pcVar31[iVar32]" identifier = (cast_expression "(uint)(byte)pcVar31[iVar32]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar31[iVar32]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar31[iVar32]" identifier [ identifier ])))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = pcVar31;" (assignment_expression "pcVar27 = pcVar31" identifier = identifier) ;) }) while (parenthesized_expression "(uVar18 == *(byte *)(iVar32 + (uint)*pbVar1))" ( (binary_expression "uVar18 == *(byte *)(iVar32 + (uint)*pbVar1)" identifier == (pointer_expression "*(byte *)(iVar32 + (uint)*pbVar1)" * (cast_expression "(byte *)(iVar32 + (uint)*pbVar1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)*pbVar1)" ( (binary_expression "iVar32 + (uint)*pbVar1" identifier + (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) )) ;) })) (expression_statement "in_t4 = in_t4 + 1;" (assignment_expression "in_t4 = in_t4 + 1" identifier = (binary_expression "in_t4 + 1" identifier + number_literal)) ;) (expression_statement "in_t5 = in_t5 + 8;" (assignment_expression "in_t5 = in_t5 + 8" identifier = (binary_expression "in_t5 + 8" identifier + number_literal)) ;) (if_statement "if (in_t4 == (code *)&DAT_00000004) break;" if (parenthesized_expression "(in_t4 == (code *)&DAT_00000004)" ( (binary_expression "in_t4 == (code *)&DAT_00000004" identifier == (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) )) (break_statement "break;" break ;)) (expression_statement "pbVar7 = *(byte **)in_t5;" (assignment_expression "pbVar7 = *(byte **)in_t5" identifier = (pointer_expression "*(byte **)in_t5" * (cast_expression "(byte **)in_t5" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar24 = *(code *)(iVar32 + (uint)*pbVar7);" (assignment_expression "cVar24 = *(code *)(iVar32 + (uint)*pbVar7)" identifier = (pointer_expression "*(code *)(iVar32 + (uint)*pbVar7)" * (cast_expression "(code *)(iVar32 + (uint)*pbVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)*pbVar7)" ( (binary_expression "iVar32 + (uint)*pbVar7" identifier + (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) ;) })) })) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (expression_statement "pcVar42 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 4)" identifier = (pointer_expression "*(code **)(pcVar38 + 4)" * (cast_expression "(code **)(pcVar38 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 4)" ( (binary_expression "pcVar38 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar50 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar50 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" if (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" ( (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (comma_expression "uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "uVar50 = uVar53" identifier = identifier) , (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal)) ))) )) (compound_statement "{\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" { (expression_statement "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);" (assignment_expression "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" * (cast_expression "(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x40)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x40" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" { (labeled_statement "LAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);" statement_identifier : (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (while_statement "while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" while (parenthesized_expression "(pcVar6 != pcVar31)" ( (binary_expression "pcVar6 != pcVar31" identifier != identifier) )) (compound_statement "{\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" { (expression_statement "puVar20 = (undefined4 *)puVar20[6];" (assignment_expression "puVar20 = (undefined4 *)puVar20[6]" identifier = (cast_expression "(undefined4 *)puVar20[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[6]" identifier [ number_literal ]))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7224;" goto statement_identifier ;)) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" identifier = (cast_expression "(code *)*puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) })) (expression_statement "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);" (assignment_expression "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48)" identifier = (pointer_expression "*(code **)(*(int *)puVar20[2] + 0x48)" * (cast_expression "(code **)(*(int *)puVar20[2] + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar20[2] + 0x48)" ( (binary_expression "*(int *)puVar20[2] + 0x48" (pointer_expression "*(int *)puVar20[2]" * (cast_expression "(int *)puVar20[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ]))) + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)auStack_168;" (assignment_expression "pcVar31 = (code *)auStack_168" identifier = (cast_expression "(code *)auStack_168" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" { (expression_statement "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );" (assignment_expression "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" identifier = (call_expression "(*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" ( (cast_expression "(int *)puVar20[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[2]" identifier [ number_literal ])) , number_literal , (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" identifier = (call_expression "CONCAT44(uVar8,uVar18)" identifier (argument_list "(uVar8,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" if (parenthesized_expression "(0x95 < (int)uVar13)" ( (binary_expression "0x95 < (int)uVar13" number_literal < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" { (expression_statement "pcStack_18c = (code *)(uVar13 & 0xff);" (assignment_expression "pcStack_18c = (code *)(uVar13 & 0xff)" identifier = (cast_expression "(code *)(uVar13 & 0xff)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )))) ;) (expression_statement "pcVar46 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 0x18)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x18)" * (cast_expression "(code **)(pcVar38 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x18)" ( (binary_expression "pcVar38 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000c5c84;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c609c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000c60a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" else (compound_statement "{\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" { (if_statement "if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" if (parenthesized_expression "((uVar13 == 0x9c) || (uVar13 - 0x33 < 2))" ( (binary_expression "(uVar13 == 0x9c) || (uVar13 - 0x33 < 2)" (parenthesized_expression "(uVar13 == 0x9c)" ( (binary_expression "uVar13 == 0x9c" identifier == number_literal) )) || (parenthesized_expression "(uVar13 - 0x33 < 2)" ( (binary_expression "uVar13 - 0x33 < 2" (binary_expression "uVar13 - 0x33" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" { (expression_statement "pcVar42 = *(code **)(param_4 + 0xc);" (assignment_expression "pcVar42 = *(code **)(param_4 + 0xc)" identifier = (pointer_expression "*(code **)(param_4 + 0xc)" * (cast_expression "(code **)(param_4 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(param_4 + 0x10);" (assignment_expression "pcVar27 = *(code **)(param_4 + 0x10)" identifier = (pointer_expression "*(code **)(param_4 + 0x10)" * (cast_expression "(code **)(param_4 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }" if (parenthesized_expression "(*pcVar42 == (code)0x9e)" ( (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }" { (expression_statement "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);" (assignment_expression "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" identifier = (call_expression "(uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" * (cast_expression "(int *)(pcVar42 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x30)" ( (binary_expression "pcVar42 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal) )))) ;) }) (else_clause "else {\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar18 = 0;\n        }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" identifier = identifier) ;) (if_statement "if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" if (parenthesized_expression "(((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0))" ( (binary_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" (parenthesized_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e))" ( (binary_expression "(pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)" (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar27 == (code)0x9e)" ( (binary_expression "*pcVar27 == (code)0x9e" (pointer_expression "*pcVar27" * identifier) == (cast_expression "(code)0x9e" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) && (parenthesized_expression "(*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" * (cast_expression "(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0x30) + 0x38)" ( (binary_expression "*(int *)(pcVar27 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar27 + 0x30)" * (cast_expression "(int *)(pcVar27 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x30)" ( (binary_expression "pcVar27 + 0x30" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar42;" (assignment_expression "pcVar46 = pcVar42" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" identifier = identifier) ;) })) (if_statement "if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar13 == 0x34)" ( (binary_expression "uVar13 == 0x34" identifier == number_literal) )) (compound_statement "{\n          pcStack_18c = (code *)0x44;\n        }" { (expression_statement "pcStack_18c = (code *)0x44;" (assignment_expression "pcStack_18c = (code *)0x44" identifier = (cast_expression "(code *)0x44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" else (if_statement "if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" if (parenthesized_expression "(uVar13 == 0x9c)" ( (binary_expression "uVar13 == 0x9c" identifier == number_literal) )) (compound_statement "{\n          pcStack_18c = (code *)0x45;\n        }" { (expression_statement "pcStack_18c = (code *)0x45;" (assignment_expression "pcStack_18c = (code *)0x45" identifier = (cast_expression "(code *)0x45" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" else (compound_statement "{\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" { (expression_statement "pcStack_18c = (code *)0x46;" (assignment_expression "pcStack_18c = (code *)0x46" identifier = (cast_expression "(code *)0x46" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }" if (parenthesized_expression "(uVar13 != 0x33)" ( (binary_expression "uVar13 != 0x33" identifier != number_literal) )) (compound_statement "{\n            pcStack_18c = (code *)0x0;\n          }" { (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))))) (labeled_statement "LAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);" statement_identifier : (expression_statement "pcStack_188 = *(code **)(puVar47 + 0x96c38);" (assignment_expression "pcStack_188 = *(code **)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96c38)" * (cast_expression "(code **)(puVar47 + 0x96c38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;)) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000c5d04:\n        pcVar27 = pcVar42;" statement_identifier : (expression_statement "pcVar27 = pcVar42;" (assignment_expression "pcVar27 = pcVar42" identifier = identifier) ;)) (expression_statement "pcVar38 = pcVar46;" (assignment_expression "pcVar38 = pcVar46" identifier = identifier) ;) (expression_statement "uVar18 = uVar18 - 1;" (assignment_expression "uVar18 = uVar18 - 1" identifier = (binary_expression "uVar18 - 1" identifier - number_literal)) ;) (if_statement "if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" if (parenthesized_expression "(uVar18 != 0xffffffff)" ( (binary_expression "uVar18 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" { (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar38;" (assignment_expression "pcVar42 = pcVar38" identifier = identifier) ;) (if_statement "if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;" if (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5cbc;" goto statement_identifier ;)) (if_statement "if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" { (expression_statement "(*pcStack_1b0)(pcStack_1b8,pcVar27);" (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar27)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar51 = 0;" (assignment_expression "uVar51 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c5d38;" goto statement_identifier ;) })) (expression_statement "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);" (assignment_expression "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" identifier = (call_expression "CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" identifier (argument_list "((code *)(iVar32 + 0x26b4),0xffffffff)" ( (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) ))) , number_literal )))) ;) (labeled_statement "LAB_000c609c:\n        cVar15 = pcVar22[8];" statement_identifier : (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" identifier = (subscript_expression "pcVar22[8]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);" statement_identifier : (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" identifier = (cast_expression "(code *)(uVar51 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar51 >> 0x20)" ( (binary_expression "uVar51 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" identifier = (cast_expression "(code *)uVar51" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(cVar15 != (code)0x2c)" ( (binary_expression "cVar15 != (code)0x2c" identifier != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) })) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar9 = (undefined4)uVar51;" (assignment_expression "uVar9 = (undefined4)uVar51" identifier = (cast_expression "(undefined4)uVar51" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" if (parenthesized_expression "((uVar13 == 0x35) || (uVar13 == 0x2d))" ( (binary_expression "(uVar13 == 0x35) || (uVar13 == 0x2d)" (parenthesized_expression "(uVar13 == 0x35)" ( (binary_expression "uVar13 == 0x35" identifier == number_literal) )) || (parenthesized_expression "(uVar13 == 0x2d)" ( (binary_expression "uVar13 == 0x2d" identifier == number_literal) ))) )) (compound_statement "{\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" { (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n          cVar16 = pcVar40[0x28];\n        }" { (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" identifier = (subscript_expression "pcVar40[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }" { (expression_statement "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" else (compound_statement "{\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" { (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(cVar16 != '\x7f')" ( (binary_expression "cVar16 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14)" identifier = (pointer_expression "*(code **)**(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(code **)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))))) ;) }))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" if (parenthesized_expression "(1 < (int)param_1)" ( (binary_expression "1 < (int)param_1" number_literal < (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" { (expression_statement "pcVar35 = *(char **)(param_4 + 0x10);" (assignment_expression "pcVar35 = *(char **)(param_4 + 0x10)" identifier = (pointer_expression "*(char **)(param_4 + 0x10)" * (cast_expression "(char **)(param_4 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar35;" (assignment_expression "cVar16 = *pcVar35" identifier = (pointer_expression "*pcVar35" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n            cVar16 = pcVar35[0x28];\n          }" { (expression_statement "cVar16 = pcVar35[0x28];" (assignment_expression "cVar16 = pcVar35[0x28]" identifier = (subscript_expression "pcVar35[0x28]" identifier [ number_literal ])) ;) })) (if_statement "if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }" { (expression_statement "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14)" identifier = (cast_expression "(code *)**(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x14)" ( (binary_expression "pcVar35 + 0x14" identifier + number_literal) ))))))) ;) }) (else_clause "else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" else (compound_statement "{\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" { (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" if (parenthesized_expression "(cVar16 != '\x7f')" ( (binary_expression "cVar16 != '\x7f'" identifier != (char_literal "'\x7f'" ' escape_sequence ')) )) (goto_statement "goto LAB_000c55f8;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14)" identifier = (pointer_expression "*(code **)**(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(code **)**(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" * (cast_expression "(undefined4 **)(pcVar35 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x14)" ( (binary_expression "pcVar35 + 0x14" identifier + number_literal) )))))))) ;) }))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) ;) (if_statement "if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" if (parenthesized_expression "((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))))" ( (binary_expression "(param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" (parenthesized_expression "(param_1 == pcVar27)" ( (binary_expression "param_1 == pcVar27" identifier == identifier) )) && (parenthesized_expression "(((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" ( (parenthesized_expression "((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))" ( (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar40 + 4) & 0x800)" ( (binary_expression "*(uint *)(pcVar40 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar40 + 4)" * (cast_expression "(uint *)(pcVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) || (parenthesized_expression "(uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" ( (comma_expression "uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" identifier = (call_expression "CONCAT44(param_1,uVar9)" identifier (argument_list "(param_1,uVar9)" ( identifier , identifier )))) , (binary_expression "(*(uint *)(pcVar35 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar35 + 4) & 0x800)" ( (binary_expression "*(uint *)(pcVar35 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar35 + 4)" * (cast_expression "(uint *)(pcVar35 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 4)" ( (binary_expression "pcVar35 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) ))) )) (compound_statement "{\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" { (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c78)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (while_statement "while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" { (expression_statement "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);" (assignment_expression "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" identifier = (call_expression "(*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" ( (pointer_expression "*(code *)(iVar39 + 0x294c)" * (cast_expression "(code *)(iVar39 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x294c)" ( (binary_expression "iVar39 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pcVar17,pcVar40,pcVar42)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" identifier = (cast_expression "(code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" ( (pointer_expression "*(code *)(iVar39 + 0x294c)" * (cast_expression "(code *)(iVar39 + 0x294c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x294c)" ( (binary_expression "iVar39 + 0x294c" identifier + number_literal) )))) )) (argument_list "(pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" ( identifier , (pointer_expression "*(undefined4 *)(param_4 + 0x10)" * (cast_expression "(undefined4 *)(param_4 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) , identifier ))))) ;) (expression_statement "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);" (assignment_expression "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" identifier = (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" ( (pointer_expression "*(code *)(iVar32 + 0x26b4)" * (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,*param_4,uVar9)" ( identifier , (pointer_expression "*param_4" * identifier) , identifier )))) ;) (if_statement "if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" { (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" * (cast_expression "(uint *)(iVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 4)" ( (binary_expression "iVar29 + 4" identifier + number_literal) )))) | (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" * (cast_expression "(undefined2 *)(iVar29 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x26)" ( (binary_expression "iVar29 + 0x26" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(param_4 + 0x26)" * (cast_expression "(undefined2 *)(param_4 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x26)" ( (binary_expression "param_4 + 0x26" identifier + number_literal) ))))) ;) })) (expression_statement "uVar9 = (*pcVar38)(pcVar22,iVar29,1);" (assignment_expression "uVar9 = (*pcVar38)(pcVar22,iVar29,1)" identifier = (call_expression "(*pcVar38)(pcVar22,iVar29,1)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(pcVar22,iVar29,1)" ( identifier , identifier , number_literal )))) ;) (expression_statement "pcVar42 = pcVar42 + 1;" (assignment_expression "pcVar42 = pcVar42 + 1" identifier = (binary_expression "pcVar42 + 1" identifier + number_literal)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,uVar9);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,uVar9)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,pcVar22,uVar9)" ( identifier , identifier , identifier ))) ;) (if_statement "if (pcVar42 == param_1) break;" if (parenthesized_expression "(pcVar42 == param_1)" ( (binary_expression "pcVar42 == param_1" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) })) (expression_statement "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" identifier = (call_expression "CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" identifier (argument_list "(uVar8,*(int *)(pcVar22 + 0x14))" ( identifier , (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" * (cast_expression "(undefined2 *)(pcVar43 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" identifier = identifier) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" if (parenthesized_expression "(pcVar22[8] != (code)0x2c)" ( (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" identifier [ number_literal ]) != (cast_expression "(code)0x2c" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000c4d88;" goto statement_identifier ;)) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" identifier = (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (expression_statement "uVar51 = CONCAT44(param_1,pcVar17);" (assignment_expression "uVar51 = CONCAT44(param_1,pcVar17)" identifier = (call_expression "CONCAT44(param_1,pcVar17)" identifier (argument_list "(param_1,pcVar17)" ( identifier , identifier )))) ;) })) })) })) (labeled_statement "LAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);" statement_identifier : (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" identifier = (cast_expression "(code *)(uVar51 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar51 >> 0x20)" ( (binary_expression "uVar51 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" identifier = (cast_expression "(code *)uVar51" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar13 == 0x31)" ( (binary_expression "uVar13 == 0x31" identifier == number_literal) )) (compound_statement "{\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" { (expression_statement "iVar32 = *(int *)(pcVar43 + 0x18);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0x18)" identifier = (pointer_expression "*(int *)(pcVar43 + 0x18)" * (cast_expression "(int *)(pcVar43 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x18)" ( (binary_expression "pcVar43 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" if (parenthesized_expression "(((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0))" ( (binary_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" (parenthesized_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b))" ( (binary_expression "(iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" ( (comma_expression "pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) , (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) , (binary_expression "*pcVar40 == -0x5b" (pointer_expression "*pcVar40" * identifier) == number_literal))) ))) )) && (parenthesized_expression "(iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" ( (comma_expression "iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) , (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) , (binary_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34)" * (cast_expression "(int *)(*(int *)(param_4 + 0x14) + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x34)" ( (binary_expression "*(int *)(param_4 + 0x14) + 0x34" (pointer_expression "*(int *)(param_4 + 0x14)" * (cast_expression "(int *)(param_4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) + number_literal) )))) == number_literal))) ))) )) (compound_statement "{\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" { (expression_statement "param_1 = (code *)0xa5;" (assignment_expression "param_1 = (code *)0xa5" identifier = (cast_expression "(code *)0xa5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" ( (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" * (cast_expression "(int *)(puVar47 + 0x96dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "cVar16 = -0x5b;" (assignment_expression "cVar16 = -0x5b" identifier = number_literal) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" { (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" identifier = (call_expression "CONCAT44(pcStack_1a4,iVar32)" identifier (argument_list "(pcStack_1a4,iVar32)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" if (parenthesized_expression "(cVar16 == -0x5b)" ( (binary_expression "cVar16 == -0x5b" identifier == number_literal) )) (compound_statement "{\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }" { (expression_statement "iVar29 = **(int **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = **(int **)(pcVar40 + 0x14)" identifier = (pointer_expression "**(int **)(pcVar40 + 0x14)" * (pointer_expression "*(int **)(pcVar40 + 0x14)" * (cast_expression "(int **)(pcVar40 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))) ;) }) (else_clause "else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" else (if_statement "if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" if (parenthesized_expression "(cVar16 == '\x7f')" ( (binary_expression "cVar16 == '\x7f'" identifier == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }" { (expression_statement "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14)" identifier = (pointer_expression "*(int *)**(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(int *)**(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" * (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" * (cast_expression "(undefined4 **)(pcVar40 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x14)" ( (binary_expression "pcVar40 + 0x14" identifier + number_literal) )))))))) ;) }) (else_clause "else {\n              iVar29 = 1;\n            }" else (compound_statement "{\n              iVar29 = 1;\n            }" { (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) }))))) (expression_statement "param_5 = pcStack_19c;" (assignment_expression "param_5 = pcStack_19c" identifier = identifier) ;) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if (iVar29 <= iVar32) break;" if (parenthesized_expression "(iVar29 <= iVar32)" ( (binary_expression "iVar29 <= iVar32" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);" (assignment_expression "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,param_4,2)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "pcVar43 = (code *)(iVar29 * 0x30);" (assignment_expression "pcVar43 = (code *)(iVar29 * 0x30)" identifier = (cast_expression "(code *)(iVar29 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 * 0x30)" ( (binary_expression "iVar29 * 0x30" identifier * number_literal) )))) ;) (expression_statement "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;" (assignment_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32" (pointer_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" * (cast_expression "(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar29);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar29)" identifier (argument_list "(pcVar26,pcVar22,iVar29)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" * (cast_expression "(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" identifier = (pointer_expression "*(char **)(param_4 + 0xc)" * (cast_expression "(char **)(param_4 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" identifier = (pointer_expression "*pcVar40" * identifier)) ;) (if_statement "if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }" if (parenthesized_expression "(cVar16 == -0x5c)" ( (binary_expression "cVar16 == -0x5c" identifier == number_literal) )) (compound_statement "{\n              cVar16 = pcVar40[0x28];\n            }" { (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" identifier = (subscript_expression "pcVar40[0x28]" identifier [ number_literal ])) ;) })) })) })) })) }))) })) (labeled_statement "LAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" statement_identifier : (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" ( (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" identifier = (cast_expression "(code *)uVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" identifier = (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" ( (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) = (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" ( (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) | identifier)) ;) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" ( (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) = (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" * (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" ( (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" identifier + identifier) + number_literal) )))) | identifier)) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" identifier = identifier) ;) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" identifier = (call_expression "CONCAT44(pcStack_190,pcStack_18c)" identifier (argument_list "(pcStack_190,pcStack_18c)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_154 == *piVar5) {\n    return;\n  }" if (parenthesized_expression "(iStack_154 == *piVar5)" ( (binary_expression "iStack_154 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar47 + 0x96f48))();" (call_expression "(**(code **)(puVar47 + 0x96f48))()" (parenthesized_expression "(**(code **)(puVar47 + 0x96f48))" ( (pointer_expression "**(code **)(puVar47 + 0x96f48)" * (pointer_expression "*(code **)(puVar47 + 0x96f48)" * (cast_expression "(code **)(puVar47 + 0x96f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96f48)" ( (binary_expression "puVar47 + 0x96f48" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" identifier = identifier) ;) (labeled_statement "LAB_000c7158:\n  uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);" statement_identifier : (expression_statement "uVar18 = 1 << (uVar13 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar13 & 0x1f)" identifier = (binary_expression "1 << (uVar13 & 0x1f)" number_literal << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) ;)) (if_statement "if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" if (parenthesized_expression "((uVar13 & 0x20) == 0)" ( (binary_expression "(uVar13 & 0x20) == 0" (parenthesized_expression "(uVar13 & 0x20)" ( (binary_expression "uVar13 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar13 = 0;\n  }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" else (compound_statement "{\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" { (expression_statement "uVar13 = uVar18;" (assignment_expression "uVar13 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "in_t2 = (code *)((uint)in_t2 | uVar18);" (assignment_expression "in_t2 = (code *)((uint)in_t2 | uVar18)" identifier = (cast_expression "(code *)((uint)in_t2 | uVar18)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t2 | uVar18)" ( (binary_expression "(uint)in_t2 | uVar18" (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (expression_statement "in_t3 = (code *)((uint)in_t3 | uVar13);" (assignment_expression "in_t3 = (code *)((uint)in_t3 | uVar13)" identifier = (cast_expression "(code *)((uint)in_t3 | uVar13)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)in_t3 | uVar13)" ( (binary_expression "(uint)in_t3 | uVar13" (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier) | identifier) )))) ;) (while_statement "while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" { (expression_statement "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar53 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar53 >> 0x20)" ( (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pcVar48 = (code *)((int)uVar53 + 1);" (assignment_expression "pcVar48 = (code *)((int)uVar53 + 1)" identifier = (cast_expression "(code *)((int)uVar53 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar53 + 1)" ( (binary_expression "(int)uVar53 + 1" (cast_expression "(int)uVar53" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar31 = pcVar31 + 0x30;" (assignment_expression "pcVar31 = pcVar31 + 0x30" identifier = (binary_expression "pcVar31 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar37 == pcVar48) break;" if (parenthesized_expression "(pcVar37 == pcVar48)" ( (binary_expression "pcVar37 == pcVar48" identifier == identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);" statement_identifier : (expression_statement "uVar53 = CONCAT44(pcVar37,pcVar48);" (assignment_expression "uVar53 = CONCAT44(pcVar37,pcVar48)" identifier = (call_expression "CONCAT44(pcVar37,pcVar48)" identifier (argument_list "(pcVar37,pcVar48)" ( identifier , identifier )))) ;)) (if_statement "if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" if (parenthesized_expression "((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5))" ( (binary_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" (parenthesized_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0))" ( (binary_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd)" ( (binary_expression "(**(byte **)pcVar31 - 0x2d & 0xff) < 0xd" (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0xff)" ( (binary_expression "**(byte **)pcVar31 - 0x2d & 0xff" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" * (pointer_expression "*(byte **)pcVar31" * (cast_expression "(byte **)pcVar31" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) - number_literal) & number_literal) )) < number_literal) )) && (parenthesized_expression "((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0" (cast_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" ( (binary_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f" (parenthesized_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f))" ( (binary_expression "(uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)" (cast_expression "(uint)in_t4" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0x1f)" ( (binary_expression "**(byte **)pcVar31 - 0x2d & 0x1f" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" * (pointer_expression "*(byte **)pcVar31" * (cast_expression "(byte **)pcVar31" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) - number_literal) & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) || (parenthesized_expression "((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" ( (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5" (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(pcVar31 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xc)" ( (binary_expression "pcVar31 + 0xc" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" { (if_statement "if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" if (parenthesized_expression "(0 < (int)*(uint *)(in_t6 + 0x1ec))" ( (binary_expression "0 < (int)*(uint *)(in_t6 + 0x1ec)" number_literal < (cast_expression "(int)*(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(in_t6 + 0x1ec)" * (cast_expression "(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1ec)" ( (binary_expression "in_t6 + 0x1ec" identifier + number_literal) )))))) )) (compound_statement "{\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" { (if_statement "if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;" if (parenthesized_expression "(*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14))" ( (binary_expression "*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)" (pointer_expression "*(int *)(in_t6 + 0x1f0)" * (cast_expression "(int *)(in_t6 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1f0)" ( (binary_expression "in_t6 + 0x1f0" identifier + number_literal) )))) == (pointer_expression "*(int *)(pcVar31 + 0x14)" * (cast_expression "(int *)(pcVar31 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x14)" ( (binary_expression "pcVar31 + 0x14" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c7158;" goto statement_identifier ;)) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "pcVar22 = in_t6 + 500;" (assignment_expression "pcVar22 = in_t6 + 500" identifier = (binary_expression "in_t6 + 500" identifier + number_literal)) ;) (while_statement "while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" while (parenthesized_expression "(uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec))" ( (comma_expression "uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)" (assignment_expression "uVar13 = uVar18" identifier = identifier) , (binary_expression "uVar13 != *(uint *)(in_t6 + 0x1ec)" identifier != (pointer_expression "*(uint *)(in_t6 + 0x1ec)" * (cast_expression "(uint *)(in_t6 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t6 + 0x1ec)" ( (binary_expression "in_t6 + 0x1ec" identifier + number_literal) )))))) )) (compound_statement "{\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" { (expression_statement "iVar32 = *(int *)pcVar22;" (assignment_expression "iVar32 = *(int *)pcVar22" identifier = (pointer_expression "*(int *)pcVar22" * (cast_expression "(int *)pcVar22" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar18 = uVar13 + 1;" (assignment_expression "uVar18 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (expression_statement "pcVar22 = pcVar22 + 4;" (assignment_expression "pcVar22 = pcVar22 + 4" identifier = (binary_expression "pcVar22 + 4" identifier + number_literal)) ;) (if_statement "if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;" if (parenthesized_expression "(*(int *)(pcVar31 + 0x14) == iVar32)" ( (binary_expression "*(int *)(pcVar31 + 0x14) == iVar32" (pointer_expression "*(int *)(pcVar31 + 0x14)" * (cast_expression "(int *)(pcVar31 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x14)" ( (binary_expression "pcVar31 + 0x14" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_000c6df0;" goto statement_identifier ;)) })) })) })) })) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3)" identifier = (cast_expression "(code *)((uint)pcStack_188 & (uint)in_t3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_188 & (uint)in_t3)" ( (binary_expression "(uint)pcStack_188 & (uint)in_t3" (cast_expression "(uint)pcStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2)" identifier = (cast_expression "(code *)((uint)pcStack_184 & (uint)in_t2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_184 & (uint)in_t2)" ( (binary_expression "(uint)pcStack_184 & (uint)in_t2" (cast_expression "(uint)pcStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)in_t2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "pcVar22 = pcVar27;" (assignment_expression "pcVar22 = pcVar27" identifier = identifier) ;) (while_statement "while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" { (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" identifier = (binary_expression "pcVar46 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar42 == pcVar38) break;" if (parenthesized_expression "(pcVar42 == pcVar38)" ( (binary_expression "pcVar42 == pcVar38" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;" if (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" ( (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcStack_184 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;)) (labeled_statement "LAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" statement_identifier : (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" if (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0)" ( (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff)" ( (binary_expression "*(ushort *)(pcVar46 + 0xc) & 0x1ff" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" { (if_statement "if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" { (labeled_statement "LAB_000c5b1c:\n        uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;) })) (expression_statement "pcVar31 = (code *)0x198;" (assignment_expression "pcVar31 = (code *)0x198" identifier = (cast_expression "(code *)0x198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)(*pcStack_17c)(param_1);" (assignment_expression "puVar20 = (undefined4 *)(*pcStack_17c)(param_1)" identifier = (cast_expression "(undefined4 *)(*pcStack_17c)(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_17c)(param_1)" (parenthesized_expression "(*pcStack_17c)" ( (pointer_expression "*pcStack_17c" * identifier) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b1c;" goto statement_identifier ;)) (expression_statement "pcVar27 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar27 = *(code **)(puVar47 + 0x96eec)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96eec)" * (cast_expression "(code **)(puVar47 + 0x96eec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96eec)" ( (binary_expression "puVar47 + 0x96eec" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 **)(pcVar46 + 0x1c) = puVar20;" (assignment_expression "*(undefined4 **)(pcVar46 + 0x1c) = puVar20" (pointer_expression "*(undefined4 **)(pcVar46 + 0x1c)" * (cast_expression "(undefined4 **)(pcVar46 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x1c)" ( (binary_expression "pcVar46 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(pcVar46 + 0xc) = 0x400;" (assignment_expression "*(undefined2 *)(pcVar46 + 0xc) = 0x400" (pointer_expression "*(undefined2 *)(pcVar46 + 0xc)" * (cast_expression "(undefined2 *)(pcVar46 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);" (assignment_expression "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180)" identifier = (call_expression "(*pcVar27)(puVar20 + 6,0,0x180)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(puVar20 + 6,0,0x180)" ( (binary_expression "puVar20 + 6" identifier + number_literal) , number_literal , number_literal )))) ;) (expression_statement "uVar9 = *(undefined4 *)pcVar22;" (assignment_expression "uVar9 = *(undefined4 *)pcVar22" identifier = (pointer_expression "*(undefined4 *)pcVar22" * (cast_expression "(undefined4 *)pcVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 9)" * (cast_expression "(undefined1 *)((int)puVar20 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 9)" ( (binary_expression "(int)puVar20 + 9" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar20 = uVar9;" (assignment_expression "*puVar20 = uVar9" (pointer_expression "*puVar20" * identifier) = identifier) ;) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[3] = 0;" (assignment_expression "puVar20[3] = 0" (subscript_expression "puVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[4] = 8;" (assignment_expression "puVar20[4] = 8" (subscript_expression "puVar20[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20[5] = uVar8;" (assignment_expression "puVar20[5] = uVar8" (subscript_expression "puVar20[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);" (call_expression "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(puVar20,*(undefined4 *)pcVar46,0x2c)" ( identifier , (pointer_expression "*(undefined4 *)pcVar46" * (cast_expression "(undefined4 *)pcVar46" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "pcVar27 = (code *)(puVar20[3] + -1);" (assignment_expression "pcVar27 = (code *)(puVar20[3] + -1)" identifier = (cast_expression "(code *)(puVar20[3] + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20[3] + -1)" ( (binary_expression "puVar20[3] + -1" (subscript_expression "puVar20[3]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (if_statement "if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" if (parenthesized_expression "(-1 < (int)pcVar27)" ( (binary_expression "-1 < (int)pcVar27" number_literal < (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" { (do_statement "do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);" do (compound_statement "{\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        }" { (expression_statement "pcVar48 = pcVar27 + -1;" (assignment_expression "pcVar48 = pcVar27 + -1" identifier = (binary_expression "pcVar27 + -1" identifier + number_literal)) ;) (expression_statement "(*pcStack_190)(pcVar26,puVar20,pcVar27);" (call_expression "(*pcStack_190)(pcVar26,puVar20,pcVar27)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar26,puVar20,pcVar27)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar48;" (assignment_expression "pcVar27 = pcVar48" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar48 != pcVar38)" ( (binary_expression "pcVar48 != pcVar38" identifier != identifier) )) ;) })) (expression_statement "puVar20[1] = pcVar22;" (assignment_expression "puVar20[1] = pcVar22" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" if (parenthesized_expression "(param_1[0x51] != (code)0x0)" ( (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" identifier [ number_literal ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" { (if_statement "if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5efc;" goto statement_identifier ;) })) (labeled_statement "LAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" identifier = identifier) ;) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" identifier = identifier) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) (expression_statement "pcVar37 = (code *)puVar20[3];" (assignment_expression "pcVar37 = (code *)puVar20[3]" identifier = (cast_expression "(code *)puVar20[3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[3]" identifier [ number_literal ]))) ;) (expression_statement "pcVar31 = (code *)puVar20[5];" (assignment_expression "pcVar31 = (code *)puVar20[5]" identifier = (cast_expression "(code *)puVar20[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[5]" identifier [ number_literal ]))) ;) (if_statement "if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" if (parenthesized_expression "((int)pcVar37 < 1)" ( (binary_expression "(int)pcVar37 < 1" (cast_expression "(int)pcVar37" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" { (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c7130;" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c7130;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;) })) (expression_statement "pcVar48 = (code *)0x0;" (assignment_expression "pcVar48 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t3 = (code *)0x0;" (assignment_expression "in_t3 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t5 = (code *)0x40;" (assignment_expression "in_t5 = (code *)0x40" identifier = (cast_expression "(code *)0x40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (code *)0x1f31;" (assignment_expression "in_t4 = (code *)0x1f31" identifier = (cast_expression "(code *)0x1f31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t6 = pcStack_1a4;" (assignment_expression "in_t6 = pcStack_1a4" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" identifier = identifier) ;) (goto_statement "goto LAB_000c6d54;" goto statement_identifier ;) })) (expression_statement "uVar23 = *(ushort *)(pcVar46 + 10);" (assignment_expression "uVar23 = *(ushort *)(pcVar46 + 10)" identifier = (pointer_expression "*(ushort *)(pcVar46 + 10)" * (cast_expression "(ushort *)(pcVar46 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 10)" ( (binary_expression "pcVar46 + 10" identifier + number_literal) ))))) ;) (if_statement "if ((uVar23 & 8) != 0) goto LAB_000c5b24;" if (parenthesized_expression "((uVar23 & 8) != 0)" ( (binary_expression "(uVar23 & 8) != 0" (parenthesized_expression "(uVar23 & 8)" ( (binary_expression "uVar23 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000c5b24;" goto statement_identifier ;)) (expression_statement "pcVar31 = (code *)(uVar23 & 2);" (assignment_expression "pcVar31 = (code *)(uVar23 & 2)" identifier = (cast_expression "(code *)(uVar23 & 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )))) ;) (expression_statement "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);" (assignment_expression "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec)" identifier = (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) ))))) ;) (if_statement "if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" if (parenthesized_expression "((int)uVar18 < 1)" ( (binary_expression "(int)uVar18 < 1" (cast_expression "(int)uVar18" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar34 = 0;\n      uVar21 = 0;\n    }" { (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" else (compound_statement "{\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" { (expression_statement "in_t2 = *(code **)(pcStack_1a4 + 0x1f0);" (assignment_expression "in_t2 = *(code **)(pcStack_1a4 + 0x1f0)" identifier = (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" * (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a4 + 0x1f0)" ( (binary_expression "pcStack_1a4 + 0x1f0" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" if (parenthesized_expression "(*(code **)(pcVar46 + 0x14) == in_t2)" ( (binary_expression "*(code **)(pcVar46 + 0x14) == in_t2" (pointer_expression "*(code **)(pcVar46 + 0x14)" * (cast_expression "(code **)(pcVar46 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x14)" ( (binary_expression "pcVar46 + 0x14" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n        uVar21 = 0;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" else (compound_statement "{\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);" do (compound_statement "{\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" if (parenthesized_expression "(uVar21 == uVar18)" ( (binary_expression "uVar21 == uVar18" identifier == identifier) )) (compound_statement "{\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000c6208;" goto statement_identifier ;) })) (expression_statement "pcVar48 = *(code **)pcVar27;" (assignment_expression "pcVar48 = *(code **)pcVar27" identifier = (pointer_expression "*(code **)pcVar27" * (cast_expression "(code **)pcVar27" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" identifier = (binary_expression "pcVar27 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(code **)(pcVar46 + 0x14) != pcVar48)" ( (binary_expression "*(code **)(pcVar46 + 0x14) != pcVar48" (pointer_expression "*(code **)(pcVar46 + 0x14)" * (cast_expression "(code **)(pcVar46 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x14)" ( (binary_expression "pcVar46 + 0x14" identifier + number_literal) )))) != identifier) )) ;) }))) (expression_statement "uVar11 = 1 << (uVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (uVar21 & 0x1f)" identifier = (binary_expression "1 << (uVar21 & 0x1f)" number_literal << (parenthesized_expression "(uVar21 & 0x1f)" ( (binary_expression "uVar21 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }" { (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = uVar11;" (assignment_expression "uVar21 = uVar11" identifier = identifier) ;) }) (else_clause "else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" else (compound_statement "{\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = uVar11;" (assignment_expression "uVar34 = uVar11" identifier = identifier) ;) }))) (labeled_statement "LAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" statement_identifier : (if_statement "if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" if (parenthesized_expression "((uVar23 & 2) != 0)" ( (binary_expression "(uVar23 & 2) != 0" (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" { (expression_statement "pcVar31 = *(code **)(pcVar46 + 0x10);" (assignment_expression "pcVar31 = *(code **)(pcVar46 + 0x10)" identifier = (pointer_expression "*(code **)(pcVar46 + 0x10)" * (cast_expression "(code **)(pcVar46 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x10)" ( (binary_expression "pcVar46 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);" (assignment_expression "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" identifier = (pointer_expression "*(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" * (cast_expression "(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" ( (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14" (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30" (pointer_expression "*(int *)(pcVar43 + 0x14)" * (cast_expression "(int *)(pcVar43 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) )))) + (binary_expression "(int)pcVar31 * 0x30" (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" if (parenthesized_expression "(pcVar37 != in_t2)" ( (binary_expression "pcVar37 != in_t2" identifier != identifier) )) (compound_statement "{\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);" do (compound_statement "{\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          }" { (expression_statement "uVar11 = uVar4;" (assignment_expression "uVar11 = uVar4" identifier = identifier) ;) (if_statement "if (uVar11 == uVar18) goto LAB_000c6210;" if (parenthesized_expression "(uVar11 == uVar18)" ( (binary_expression "uVar11 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_000c6210;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)pcVar27;" (assignment_expression "pcVar31 = *(code **)pcVar27" identifier = (pointer_expression "*(code **)pcVar27" * (cast_expression "(code **)pcVar27" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar4 = uVar11 + 1;" (assignment_expression "uVar4 = uVar11 + 1" identifier = (binary_expression "uVar11 + 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 "(pcVar31 != pcVar37)" ( (binary_expression "pcVar31 != pcVar37" identifier != identifier) )) ;) })) (expression_statement "uVar18 = 1 << (uVar11 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar11 & 0x1f)" identifier = (binary_expression "1 << (uVar11 & 0x1f)" number_literal << (parenthesized_expression "(uVar11 & 0x1f)" ( (binary_expression "uVar11 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" if (parenthesized_expression "((uVar11 & 0x20) == 0)" ( (binary_expression "(uVar11 & 0x20) == 0" (parenthesized_expression "(uVar11 & 0x20)" ( (binary_expression "uVar11 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar11 = 0;\n        }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" { (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar21 = uVar21 | uVar18;" (assignment_expression "uVar21 = uVar21 | uVar18" identifier = (binary_expression "uVar21 | uVar18" identifier | identifier)) ;) (expression_statement "uVar34 = uVar34 | uVar11;" (assignment_expression "uVar34 = uVar34 | uVar11" identifier = (binary_expression "uVar34 | uVar11" identifier | identifier)) ;) }))) }))) (labeled_statement "LAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" statement_identifier : (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & uVar34)" identifier = (cast_expression "(code *)((uint)pcStack_188 & uVar34)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_188 & uVar34)" ( (binary_expression "(uint)pcStack_188 & uVar34" (cast_expression "(uint)pcStack_188" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;)) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & uVar21);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & uVar21)" identifier = (cast_expression "(code *)((uint)pcStack_184 & uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcStack_184 & uVar21)" ( (binary_expression "(uint)pcStack_184 & uVar21" (cast_expression "(uint)pcStack_184" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" if (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 2) == 0)" ( (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 2) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 2)" ( (binary_expression "*(ushort *)(pcVar46 + 0xc) & 2" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" * (cast_expression "(ushort *)(pcVar46 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0xc)" ( (binary_expression "pcVar46 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" else (compound_statement "{\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" { (expression_statement "uVar13 = uVar13 & uVar34;" (assignment_expression "uVar13 = uVar13 & uVar34" identifier = (binary_expression "uVar13 & uVar34" identifier & identifier)) ;) (expression_statement "param_5 = (code *)((uint)param_5 & uVar21);" (assignment_expression "param_5 = (code *)((uint)param_5 & uVar21)" identifier = (cast_expression "(code *)((uint)param_5 & uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_5 & uVar21)" ( (binary_expression "(uint)param_5 & uVar21" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) }))) })) (labeled_statement "LAB_000c5b30:\n  pcStack_18c = (code *)uVar50;" statement_identifier : (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*(code **)(pcVar43 + 0x198) = pcStack_188;" (assignment_expression "*(code **)(pcVar43 + 0x198) = pcStack_188" (pointer_expression "*(code **)(pcVar43 + 0x198)" * (cast_expression "(code **)(pcVar43 + 0x198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(pcVar43 + 0x19c) = pcStack_184;" (assignment_expression "*(code **)(pcVar43 + 0x19c) = pcStack_184" (pointer_expression "*(code **)(pcVar43 + 0x19c)" * (cast_expression "(code **)(pcVar43 + 0x19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;" if (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" ( (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "pcStack_184 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_000c5f04;" goto statement_identifier ;)) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_18c + 0xc)" ( (binary_expression "pcStack_18c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" identifier [ number_literal ]) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(pcVar43 + 0xc) == 2)" ( (binary_expression "*(int *)(pcVar43 + 0xc) == 2" (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" { (labeled_statement "LAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);" statement_identifier : (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x14)" * (cast_expression "(int **)(pcVar43 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" 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)) ;) (labeled_statement "LAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);" statement_identifier : (expression_statement "uVar49 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar49 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;)) (expression_statement "uVar53 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar53 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_1,pcStack_18c)" identifier = (call_expression "CONCAT44(param_1,pcStack_18c)" identifier (argument_list "(param_1,pcStack_18c)" ( identifier , identifier )))) ;) (expression_statement "pcStack_18c = pcVar27 + 1;" (assignment_expression "pcStack_18c = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" identifier = identifier) ;) (if_statement "if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" if (parenthesized_expression "(*(short *)(piVar41 + 3) == 0x400)" ( (binary_expression "*(short *)(piVar41 + 3) == 0x400" (pointer_expression "*(short *)(piVar41 + 3)" * (cast_expression "(short *)(piVar41 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 3)" ( (binary_expression "piVar41 + 3" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }" { (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" identifier = identifier) ;) (if_statement "if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;" if (parenthesized_expression "((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0))" ( (binary_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" (parenthesized_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27)" ( (binary_expression "*(int *)(piVar41[7] + 0xc) <= (int)pcVar27" (pointer_expression "*(int *)(piVar41[7] + 0xc)" * (cast_expression "(int *)(piVar41[7] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[7] + 0xc)" ( (binary_expression "piVar41[7] + 0xc" (subscript_expression "piVar41[7]" identifier [ number_literal ]) + number_literal) )))) <= (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" ( (comma_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" identifier = (cast_expression "(int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" ( (binary_expression "*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30" (pointer_expression "*(int *)(piVar41[7] + 0x14)" * (cast_expression "(int *)(piVar41[7] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[7] + 0x14)" ( (binary_expression "piVar41[7] + 0x14" (subscript_expression "piVar41[7]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "(int)pcVar27 * 0x30" (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) , (comma_expression "uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "uVar50 = uVar49" identifier = identifier) , (binary_expression "piVar44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }) (else_clause "else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" else (compound_statement "{\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" { (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (if_statement "if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;" if (parenthesized_expression "(pcVar27 != (code *)0x0)" ( (binary_expression "pcVar27 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;)) }))) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96dac);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96dac)" identifier = (pointer_expression "*(code **)(puVar47 + 0x96dac)" * (cast_expression "(code **)(puVar47 + 0x96dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar47 + 0x96dac)" ( (binary_expression "puVar47 + 0x96dac" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" identifier = (pointer_expression "*(short *)(piVar41 + 0xf)" * (cast_expression "(short *)(piVar41 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xf)" ( (binary_expression "piVar41 + 0xf" identifier + number_literal) ))))) ;) (expression_statement "pcStack_184 = pcVar42 + 0x4ac8;" (assignment_expression "pcStack_184 = pcVar42 + 0x4ac8" identifier = (binary_expression "pcVar42 + 0x4ac8" identifier + number_literal)) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );" do (compound_statement "{\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    }" { (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" identifier = identifier) ;) (if_statement "if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" if (parenthesized_expression "(sVar28 == 0x400)" ( (binary_expression "sVar28 == 0x400" identifier == number_literal) )) (compound_statement "{\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }" { (if_statement "if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;" if (parenthesized_expression "(*(int *)(piVar41[0x13] + 0xc) <= iVar32)" ( (binary_expression "*(int *)(piVar41[0x13] + 0xc) <= iVar32" (pointer_expression "*(int *)(piVar41[0x13] + 0xc)" * (cast_expression "(int *)(piVar41[0x13] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[0x13] + 0xc)" ( (binary_expression "piVar41[0x13] + 0xc" (subscript_expression "piVar41[0x13]" identifier [ number_literal ]) + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(piVar41[0x13] + 0x14)" * (cast_expression "(int *)(piVar41[0x13] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41[0x13] + 0x14)" ( (binary_expression "piVar41[0x13] + 0x14" (subscript_expression "piVar41[0x13]" identifier [ number_literal ]) + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) }) (else_clause "else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" else (compound_statement "{\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" { (expression_statement "pcVar38 = (code *)(piVar41 + 0xc);" (assignment_expression "pcVar38 = (code *)(piVar41 + 0xc)" identifier = (cast_expression "(code *)(piVar41 + 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xc)" ( (binary_expression "piVar41 + 0xc" identifier + number_literal) )))) ;) (if_statement "if (iVar32 != 0) goto LAB_000c6e8c;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) }))) (if_statement "if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;" if (parenthesized_expression "(pcVar38 == (code *)0x0)" ( (binary_expression "pcVar38 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c6e8c;" goto statement_identifier ;)) (expression_statement "uVar23 = *(ushort *)(piVar44 + 3);" (assignment_expression "uVar23 = *(ushort *)(piVar44 + 3)" identifier = (pointer_expression "*(ushort *)(piVar44 + 3)" * (cast_expression "(ushort *)(piVar44 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar44 + 3)" ( (binary_expression "piVar44 + 3" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" identifier = (cast_expression "(code *)(uint)uVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" if (parenthesized_expression "(((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0))" ( (binary_expression "((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" (parenthesized_expression "((uVar23 & 0x3e) != 0)" ( (binary_expression "(uVar23 & 0x3e) != 0" (parenthesized_expression "(uVar23 & 0x3e)" ( (binary_expression "uVar23 & 0x3e" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" ( (binary_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0" (parenthesized_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e)" ( (binary_expression "*(ushort *)(pcVar38 + 0xc) & 0x3e" (pointer_expression "*(ushort *)(pcVar38 + 0xc)" * (cast_expression "(ushort *)(pcVar38 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xc)" ( (binary_expression "pcVar38 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" { (expression_statement "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);" (assignment_expression "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc)" identifier = (binary_expression "uVar23 | *(ushort *)(pcVar38 + 0xc)" identifier | (pointer_expression "*(ushort *)(pcVar38 + 0xc)" * (cast_expression "(ushort *)(pcVar38 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0xc)" ( (binary_expression "pcVar38 + 0xc" identifier + number_literal) )))))) ;) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" identifier = (cast_expression "(code *)(uint)uVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" if (parenthesized_expression "((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26)))" ( (binary_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))" (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a))" ( (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x1a)" identifier == (cast_expression "(code *)((uint)pcVar42 & 0x1a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcVar42 & 0x1a)" ( (binary_expression "(uint)pcVar42 & 0x1a" (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) )) || (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x26))" ( (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x26)" identifier == (cast_expression "(code *)((uint)pcVar42 & 0x26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pcVar42 & 0x26)" ( (binary_expression "(uint)pcVar42 & 0x26" (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ))) )) (compound_statement "{\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" identifier = (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" (parenthesized_expression "(*pcStack_188)" ( (pointer_expression "*pcStack_188" * identifier) )) (argument_list "(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar44 + 0xc)" * (cast_expression "(undefined4 *)(*piVar44 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0xc)" ( (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0xc)" * (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar38 + 0xc)" ( (binary_expression "*(int *)pcVar38 + 0xc" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) )))) ;) (if_statement "if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" identifier = (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" (parenthesized_expression "(*pcStack_188)" ( (pointer_expression "*pcStack_188" * identifier) )) (argument_list "(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" ( number_literal , (pointer_expression "*(undefined4 *)(*piVar44 + 0x10)" * (cast_expression "(undefined4 *)(*piVar44 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0x10)" ( (binary_expression "*piVar44 + 0x10" (pointer_expression "*piVar44" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0x10)" * (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcVar38 + 0x10)" ( (binary_expression "*(int *)pcVar38 + 0x10" (pointer_expression "*(int *)pcVar38" * (cast_expression "(int *)pcVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) )))) ;) (if_statement "if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" if (parenthesized_expression "(iVar39 == 0)" ( (binary_expression "iVar39 == 0" identifier == number_literal) )) (compound_statement "{\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" { (if_statement "if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }" if (parenthesized_expression "((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0))" ( (binary_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" (parenthesized_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0)" ( (binary_expression "((uint)(pcVar42 + -1) & (uint)pcVar42) != 0" (parenthesized_expression "((uint)(pcVar42 + -1) & (uint)pcVar42)" ( (binary_expression "(uint)(pcVar42 + -1) & (uint)pcVar42" (call_expression "(uint)(pcVar42 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar42 + -1)" ( (binary_expression "pcVar42 + -1" identifier + number_literal) ))) & (cast_expression "(uint)pcVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) )) && (parenthesized_expression "(pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" ( (comma_expression "pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0" (assignment_expression "pcVar42 = (code *)&DAT_00000020" identifier = (cast_expression "(code *)&DAT_00000020" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000020" & identifier))) , (binary_expression "(uVar23 & 0x18) != 0" (parenthesized_expression "(uVar23 & 0x18)" ( (binary_expression "uVar23 & 0x18" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                pcVar42 = (code *)&DAT_00000008;\n              }" { (expression_statement "pcVar42 = (code *)&DAT_00000008;" (assignment_expression "pcVar42 = (code *)&DAT_00000008" identifier = (cast_expression "(code *)&DAT_00000008" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" if (parenthesized_expression "((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0))" ( (binary_expression "(*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) && (parenthesized_expression "(puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" ( (comma_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0" (assignment_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" identifier = (cast_expression "(undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (parenthesized_expression "(*pcStack_17c)" ( (pointer_expression "*pcStack_17c" * identifier) )) (argument_list "(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" ( (pointer_expression "*(undefined4 *)**(undefined4 **)pcVar22" * (cast_expression "(undefined4 *)**(undefined4 **)pcVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)pcVar22" * (pointer_expression "*(undefined4 **)pcVar22" * (cast_expression "(undefined4 **)pcVar22" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))))) , (pointer_expression "*piVar44" * identifier) , number_literal ))))) , (binary_expression "puVar12 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" { (expression_statement "uVar25 = 0x35;" (assignment_expression "uVar25 = 0x35" identifier = number_literal) ;) (if_statement "if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" if (parenthesized_expression "(pcVar42 != (code *)&SUB_00000002)" ( (binary_expression "pcVar42 != (code *)&SUB_00000002" identifier != (cast_expression "(code *)&SUB_00000002" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) )) (compound_statement "{\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" { (expression_statement "iVar39 = 0x35;" (assignment_expression "iVar39 = 0x35" identifier = number_literal) ;) (do_statement "do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));" do (compound_statement "{\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  }" { (expression_statement "uVar18 = iVar39 - 0x34;" (assignment_expression "uVar18 = iVar39 - 0x34" identifier = (binary_expression "iVar39 - 0x34" identifier - number_literal)) ;) (expression_statement "iVar39 = iVar39 + 1;" (assignment_expression "iVar39 = iVar39 + 1" identifier = (binary_expression "iVar39 + 1" identifier + number_literal)) ;) (expression_statement "uVar25 = (undefined1)iVar39;" (assignment_expression "uVar25 = (undefined1)iVar39" identifier = (cast_expression "(undefined1)iVar39" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(pcVar42 != (code *)(2 << (uVar18 & 0x1f)))" ( (binary_expression "pcVar42 != (code *)(2 << (uVar18 & 0x1f))" identifier != (cast_expression "(code *)(2 << (uVar18 & 0x1f))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(2 << (uVar18 & 0x1f))" ( (binary_expression "2 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))) )))) )) ;) })) (expression_statement "*puVar12 = uVar25;" (assignment_expression "*puVar12 = uVar25" (pointer_expression "*puVar12" * identifier) = identifier) ;) (expression_statement "uVar8 = (*pcStack_174)(pcVar22,puVar12,3);" (assignment_expression "uVar8 = (*pcStack_174)(pcVar22,puVar12,3)" identifier = (call_expression "(*pcStack_174)(pcVar22,puVar12,3)" (parenthesized_expression "(*pcStack_174)" ( (pointer_expression "*pcStack_174" * identifier) )) (argument_list "(pcVar22,puVar12,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "(*pcStack_184)(pcVar26,pcVar22,uVar8);" (call_expression "(*pcStack_184)(pcVar26,pcVar22,uVar8)" (parenthesized_expression "(*pcStack_184)" ( (pointer_expression "*pcStack_184" * identifier) )) (argument_list "(pcVar26,pcVar22,uVar8)" ( identifier , identifier , identifier ))) ;) })) })) })) (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x14)" * (cast_expression "(int **)(pcVar43 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x14)" ( (binary_expression "pcVar43 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" identifier = (pointer_expression "*(short *)(piVar41 + 0xf)" * (cast_expression "(short *)(piVar41 + 0xf)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar41 + 0xf)" ( (binary_expression "piVar41 + 0xf" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_000c5b6c;" goto statement_identifier ;) (labeled_statement "LAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" statement_identifier : (expression_statement "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" (assignment_expression "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar38)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar38)" ( identifier , identifier )))) ;)) (if_statement "if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" if (parenthesized_expression "((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0))" ( (binary_expression "(pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" ( (comma_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0" (assignment_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27)" identifier = (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(pcStack_1b8,pcVar27)" ( identifier , identifier )))) , (binary_expression "(uVar52 & uVar51) == 0" (parenthesized_expression "(uVar52 & uVar51)" ( (binary_expression "uVar52 & uVar51" identifier & identifier) )) == number_literal)) ))) )) (compound_statement "{\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" { (expression_statement "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);" (assignment_expression "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" identifier = (cast_expression "(code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" (parenthesized_expression "(*(pcStack_188 + -0x271c))" ( (pointer_expression "*(pcStack_188 + -0x271c)" * (parenthesized_expression "(pcStack_188 + -0x271c)" ( (binary_expression "pcStack_188 + -0x271c" identifier + number_literal) ))) )) (argument_list "(pcVar6,pcVar38,0,0)" ( identifier , identifier , number_literal , number_literal ))))) ;) (labeled_statement "LAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" statement_identifier : (expression_statement "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" (assignment_expression "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" identifier = (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" ( (pointer_expression "*(code *)(iVar32 + 0x26b4)" * (cast_expression "(code *)(iVar32 + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26b4)" ( (binary_expression "iVar32 + 0x26b4" identifier + number_literal) )))) )) (argument_list "(pcVar17,0x2e,0)" ( identifier , number_literal , number_literal )))) ;)) (if_statement "if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" if (parenthesized_expression "(((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0))" ( (binary_expression "((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)" (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) != 0)" ( (binary_expression "(*(uint *)(param_4 + 4) & 1) != 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" ( (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" * (cast_expression "(uint *)(param_4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" { (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" * (cast_expression "(uint *)(iVar39 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 4)" ( (binary_expression "iVar39 + 4" identifier + number_literal) )))) | number_literal)) ;) })) (expression_statement "iVar39 = (*pcStack_190)(pcVar22,iVar39,3);" (assignment_expression "iVar39 = (*pcStack_190)(pcVar22,iVar39,3)" identifier = (call_expression "(*pcStack_190)(pcVar22,iVar39,3)" (parenthesized_expression "(*pcStack_190)" ( (pointer_expression "*pcStack_190" * identifier) )) (argument_list "(pcVar22,iVar39,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar39 = iVar39 * 0x30;" (assignment_expression "iVar39 = iVar39 * 0x30" identifier = (binary_expression "iVar39 * 0x30" identifier * number_literal)) ;) (expression_statement "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;" (assignment_expression "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39" identifier = (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(ulonglong *)(iVar29 + 0x20) = uVar51;" (assignment_expression "*(ulonglong *)(iVar29 + 0x20) = uVar51" (pointer_expression "*(ulonglong *)(iVar29 + 0x20)" * (cast_expression "(ulonglong *)(iVar29 + 0x20)" ( (type_descriptor "ulonglong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x20)" ( (binary_expression "iVar29 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x14)" * (cast_expression "(undefined4 *)(iVar29 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x14)" ( (binary_expression "iVar29 + 0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pcVar27 + 0x1c)" * (cast_expression "(undefined4 *)(pcVar27 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1c)" ( (binary_expression "pcVar27 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pcVar27 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar27 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(pcVar27 + 0x20)" * (cast_expression "(undefined4 *)(pcVar27 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x20)" ( (binary_expression "pcVar27 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(iVar29 + 0xc) = 0x40;" (assignment_expression "*(undefined2 *)(iVar29 + 0xc) = 0x40" (pointer_expression "*(undefined2 *)(iVar29 + 0xc)" * (cast_expression "(undefined2 *)(iVar29 + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xc)" ( (binary_expression "iVar29 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x1c)" * (cast_expression "(undefined4 *)(iVar29 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(iVar29 + 0xf) = (char)pcStack_18c;" (assignment_expression "*(char *)(iVar29 + 0xf) = (char)pcStack_18c" (pointer_expression "*(char *)(iVar29 + 0xf)" * (cast_expression "(char *)(iVar29 + 0xf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xf)" ( (binary_expression "iVar29 + 0xf" identifier + number_literal) )))) = (cast_expression "(char)pcStack_18c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" * (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + identifier) + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = *(undefined4 *)(pcVar43 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar43 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(pcVar43 + 0x28)" * (cast_expression "(undefined4 *)(pcVar43 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x28)" ( (binary_expression "pcVar43 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) = (binary_expression "*(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" * (cast_expression "(ushort *)(pcVar43 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 10)" ( (binary_expression "pcVar43 + 10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x2c)" * (cast_expression "(undefined4 *)(iVar29 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c)" ( (binary_expression "iVar29 + 0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pcVar43 + 0x2c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x2c)" ( (binary_expression "pcVar43 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x28) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x28) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x28)" * (cast_expression "(undefined4 *)(iVar29 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x28)" ( (binary_expression "iVar29 + 0x28" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000c5d04;" goto statement_identifier ;) (labeled_statement "LAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" * (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19c)" ( (binary_expression "pcVar43 + 0x19c" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" * (cast_expression "(undefined4 *)(pcVar43 + 0x198)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x198)" ( (binary_expression "pcVar43 + 0x198" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000c5f04:\n  pcStack_18c = (code *)uVar50;" statement_identifier : (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)((int)pcStack_18c + 0xc)" * (cast_expression "(undefined2 *)((int)pcStack_18c + 0xc)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcStack_18c + 0xc)" ( (binary_expression "(int)pcStack_18c + 0xc" (cast_expression "(int)pcStack_18c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (labeled_statement "LAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" statement_identifier : (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" identifier = (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" ( (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" identifier = (cast_expression "(code *)uVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" identifier = identifier) ;) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" identifier = identifier) ;) (if_statement "if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(uVar13 != 0 || in_t4 != (code *)0x0)" ( (binary_expression "uVar13 != 0 || in_t4 != (code *)0x0" (binary_expression "uVar13 != 0" identifier != number_literal) || (binary_expression "in_t4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" { (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar43 + 0xc)" * (cast_expression "(int *)(pcVar43 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0xc)" ( (binary_expression "pcVar43 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_5 = in_t4;" (assignment_expression "param_5 = in_t4" identifier = identifier) ;) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" identifier = identifier) ;) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" identifier = identifier) ;) (labeled_statement "LAB_000c5b7c:\n    pcVar46 = pcStack_1a4;" statement_identifier : (expression_statement "pcVar46 = pcStack_1a4;" (assignment_expression "pcVar46 = pcStack_1a4" identifier = identifier) ;)) (expression_statement "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" ( (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" * (cast_expression "(int *)(puVar47 + 0x96b94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96b94)" ( (binary_expression "puVar47 + 0x96b94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" ( (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" * (cast_expression "(int *)(puVar47 + 0x96c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c4c)" ( (binary_expression "puVar47 + 0x96c4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" identifier = identifier) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (labeled_statement "LAB_000c5bb0:\n    iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x14)" * (cast_expression "(int **)(pcVar27 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x14)" ( (binary_expression "pcVar27 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pcStack_190 = pcVar22;" (assignment_expression "pcStack_190 = pcVar22" identifier = identifier) ;) (if_statement "if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < iVar32)" ( (binary_expression "-1 < iVar32" number_literal < identifier) )) (compound_statement "{\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" { (expression_statement "in_t5 = (code *)0x1;" (assignment_expression "in_t5 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_t4 = (code *)0xffffffff;" (assignment_expression "in_t4 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );" do (compound_statement "{\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      }" { (expression_statement "pcVar38 = (code *)piVar41[5];" (assignment_expression "pcVar38 = (code *)piVar41[5]" identifier = (cast_expression "(code *)piVar41[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[5]" identifier [ number_literal ]))) ;) (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" if (parenthesized_expression "((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)))" ( (binary_expression "(pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" (parenthesized_expression "(pcVar38 != pcVar31)" ( (binary_expression "pcVar38 != pcVar31" identifier != identifier) )) && (parenthesized_expression "(0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" ( (binary_expression "0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)" number_literal < (cast_expression "(int)*(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) )))))) ))) )) (compound_statement "{\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" { (if_statement "if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" if (parenthesized_expression "(pcVar38 == *(code **)(pcStack_1a4 + 0x1f0))" ( (binary_expression "pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)" identifier == (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" * (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a4 + 0x1f0)" ( (binary_expression "pcStack_1a4 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar18 = 0;\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" else (compound_statement "{\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar43 = pcStack_1a4 + 500;" (assignment_expression "pcVar43 = pcStack_1a4 + 500" identifier = (binary_expression "pcStack_1a4 + 500" identifier + number_literal)) ;) (do_statement "do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);" do (compound_statement "{\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            }" { (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;" if (parenthesized_expression "(uVar18 == *(uint *)(pcStack_1a4 + 0x1ec))" ( (binary_expression "uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)" identifier == (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" * (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1a4 + 0x1ec)" ( (binary_expression "pcStack_1a4 + 0x1ec" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000c5c1c;" goto statement_identifier ;)) (expression_statement "pcVar48 = *(code **)pcVar43;" (assignment_expression "pcVar48 = *(code **)pcVar43" identifier = (pointer_expression "*(code **)pcVar43" * (cast_expression "(code **)pcVar43" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" identifier = (binary_expression "pcVar43 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar38 != pcVar48)" ( (binary_expression "pcVar38 != pcVar48" identifier != identifier) )) ;) }))) (expression_statement "uVar21 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar21 = 1 << (uVar18 & 0x1f)" identifier = (binary_expression "1 << (uVar18 & 0x1f)" number_literal << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) )))) ;) (if_statement "if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" if (parenthesized_expression "((uVar18 & 0x20) == 0)" ( (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" ( (binary_expression "uVar18 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar18 = 0;\n          }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" else (compound_statement "{\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" { (expression_statement "uVar18 = uVar21;" (assignment_expression "uVar18 = uVar21" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }))) (if_statement "if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;" if (parenthesized_expression "((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0)" ( (binary_expression "(uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0" (binary_expression "(uVar18 & uVar13) != 0" (parenthesized_expression "(uVar18 & uVar13)" ( (binary_expression "uVar18 & uVar13" identifier & identifier) )) != number_literal) || (binary_expression "(uVar21 & (uint)param_5) != 0" (parenthesized_expression "(uVar21 & (uint)param_5)" ( (binary_expression "uVar21 & (uint)param_5" identifier & (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal)) )) (goto_statement "goto code_r0x000c6748;" goto statement_identifier ;)) })) (labeled_statement "LAB_000c5c1c:\n        iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" identifier = (binary_expression "piVar41 + 0xc" identifier + number_literal)) ;) (if_statement "if (iVar32 == -1) break;" if (parenthesized_expression "(iVar32 == -1)" ( (binary_expression "iVar32 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (labeled_statement "LAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);" statement_identifier : (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" identifier = (call_expression "CONCAT44(pcStack_1a4,pcVar42)" identifier (argument_list "(pcStack_1a4,pcVar42)" ( identifier , identifier )))) ;)) (expression_statement "pcVar38 = pcVar27;" (assignment_expression "pcVar38 = pcVar27" identifier = identifier) ;) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier = (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" identifier = (call_expression "CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" identifier (argument_list "(pcVar37,*(int *)(pcVar22 + 0x14))" ( identifier , (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) )))) ;) (goto_statement "goto LAB_000c4d78;" goto statement_identifier ;) (labeled_statement "LAB_000c5b24:\n  pcVar42 = pcVar42 + -1;" statement_identifier : (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" identifier = (binary_expression "pcVar42 + -1" identifier + number_literal)) ;)) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" identifier = (binary_expression "pcVar46 + 0x30" identifier + number_literal)) ;) (if_statement "if (pcVar42 == pcVar38) goto LAB_000c5b30;" if (parenthesized_expression "(pcVar42 == pcVar38)" ( (binary_expression "pcVar42 == pcVar38" identifier == identifier) )) (goto_statement "goto LAB_000c5b30;" goto statement_identifier ;)) (goto_statement "goto LAB_000c5ae4;" goto statement_identifier ;) (labeled_statement "code_r0x000c6748:\n  param_1 = (code *)piVar41[7];" statement_identifier : (expression_statement "param_1 = (code *)piVar41[7];" (assignment_expression "param_1 = (code *)piVar41[7]" identifier = (cast_expression "(code *)piVar41[7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[7]" identifier [ number_literal ]))) ;)) (expression_statement "pcStack_188 = *(code **)(*piVar41 + 0xc);" (assignment_expression "pcStack_188 = *(code **)(*piVar41 + 0xc)" identifier = (pointer_expression "*(code **)(*piVar41 + 0xc)" * (cast_expression "(code **)(*piVar41 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (labeled_statement "LAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" statement_identifier : (if_statement "if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" if (parenthesized_expression "(param_1 == (code *)piVar41[7])" ( (binary_expression "param_1 == (code *)piVar41[7]" identifier == (cast_expression "(code *)piVar41[7]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar41[7]" identifier [ number_literal ]))) )) (compound_statement "{\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" { (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" identifier = (pointer_expression "*piVar41" * identifier)) ;) (if_statement "if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" if (parenthesized_expression "(param_1 == (code *)&SUB_fffffffe)" ( (binary_expression "param_1 == (code *)&SUB_fffffffe" identifier == (cast_expression "(code *)&SUB_fffffffe" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_fffffffe" & identifier))) )) (compound_statement "{\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" { (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);" (assignment_expression "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" identifier = (call_expression "(*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" (parenthesized_expression "(*pcStack_184)" ( (pointer_expression "*pcStack_184" * identifier) )) (argument_list "(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" ( identifier , (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" * (cast_expression "(undefined4 *)(iVar39 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0xc)" ( (binary_expression "iVar39 + 0xc" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar39 != 0) goto LAB_000c6790;" if (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000c6790;" goto statement_identifier ;)) (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" identifier = (pointer_expression "*piVar41" * identifier)) ;) })) (expression_statement "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));" (assignment_expression "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" identifier = (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" (parenthesized_expression "(*pcStack_18c)" ( (pointer_expression "*pcStack_18c" * identifier) )) (argument_list "(*(undefined4 *)(iVar39 + 0x10))" ( (pointer_expression "*(undefined4 *)(iVar39 + 0x10)" * (cast_expression "(undefined4 *)(iVar39 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x10)" ( (binary_expression "iVar39 + 0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));" (assignment_expression "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" identifier = (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" (parenthesized_expression "(*pcStack_18c)" ( (pointer_expression "*pcStack_18c" * identifier) )) (argument_list "(*(undefined4 *)(*piVar41 + 0xc))" ( (pointer_expression "*(undefined4 *)(*piVar41 + 0xc)" * (cast_expression "(undefined4 *)(*piVar41 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) )))) ))))) ;) (if_statement "if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" if (parenthesized_expression "((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43))" ( (binary_expression "(pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)" (parenthesized_expression "(pcStack_174 == (code *)0x0)" ( (binary_expression "pcStack_174 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcStack_174 == pcVar43)" ( (binary_expression "pcStack_174 == pcVar43" identifier == identifier) ))) )) (compound_statement "{\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" { (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (labeled_statement "LAB_000c6768:\n      iVar32 = iVar32 + -1;" statement_identifier : (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" identifier = (binary_expression "iVar32 + -1" identifier + number_literal)) ;)) (expression_statement "piVar41 = piVar44 + 0xc;" (assignment_expression "piVar41 = piVar44 + 0xc" identifier = (binary_expression "piVar44 + 0xc" identifier + number_literal)) ;) (if_statement "if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" if (parenthesized_expression "(iVar32 != -1)" ( (binary_expression "iVar32 != -1" identifier != number_literal) )) (compound_statement "{\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" { (if_statement "if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;" if (parenthesized_expression "(pcVar38 != (code *)piVar44[0x11])" ( (binary_expression "pcVar38 != (code *)piVar44[0x11]" identifier != (cast_expression "(code *)piVar44[0x11]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar44[0x11]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_000c675c;" goto statement_identifier ;)) (goto_statement "goto LAB_000c6784;" goto statement_identifier ;) })) (expression_statement "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);" (assignment_expression "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1)" identifier = (cast_expression "(code *)(*(int *)(pcVar27 + 0xc) + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0xc) + -1)" ( (binary_expression "*(int *)(pcVar27 + 0xc) + -1" (pointer_expression "*(int *)(pcVar27 + 0xc)" * (cast_expression "(int *)(pcVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xc)" ( (binary_expression "pcVar27 + 0xc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x14)" * (cast_expression "(int **)(pcVar27 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x14)" ( (binary_expression "pcVar27 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" if (parenthesized_expression "((int)param_5 < 0)" ( (binary_expression "(int)param_5 < 0" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }" { (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_180,0x31,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (if_statement "if (iVar32 == 0) goto LAB_000c5c2c;" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;)) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" else (compound_statement "{\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" { (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" identifier = number_literal) ;) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" identifier = (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + -0x52c)" ( (binary_expression "*(int *)(puVar47 + 0x96c48) + -0x52c" (pointer_expression "*(int *)(puVar47 + 0x96c48)" * (cast_expression "(int *)(puVar47 + 0x96c48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c48)" ( (binary_expression "puVar47 + 0x96c48" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);" do (compound_statement "{\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        }" { (if_statement "if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" if (parenthesized_expression "((*(ushort *)((int)piVar41 + 10) & 0x40) != 0)" ( (binary_expression "(*(ushort *)((int)piVar41 + 10) & 0x40) != 0" (parenthesized_expression "(*(ushort *)((int)piVar41 + 10) & 0x40)" ( (binary_expression "*(ushort *)((int)piVar41 + 10) & 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" * (cast_expression "(ushort *)((int)piVar41 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar41 + 10)" ( (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" { (expression_statement "iVar32 = *(int *)(*piVar41 + 0x10);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0x10)" identifier = (pointer_expression "*(int *)(*piVar41 + 0x10)" * (cast_expression "(int *)(*piVar41 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0x10)" ( (binary_expression "*piVar41 + 0x10" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" { (expression_statement "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" identifier = (call_expression "(*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" ( (pointer_expression "*(code *)(iVar39 + -0x271c)" * (cast_expression "(code *)(iVar39 + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x271c)" ( (binary_expression "iVar39 + -0x271c" identifier + number_literal) )))) )) (argument_list "(pcStack_17c,iVar32,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pcStack_1a4 = pcVar38;" (assignment_expression "pcStack_1a4 = pcVar38" identifier = identifier) ;) })) (expression_statement "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);" (assignment_expression "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" identifier = (cast_expression "(code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(**(undefined4 **)pcVar46,pcVar38,iVar32)" ( (pointer_expression "**(undefined4 **)pcVar46" * (pointer_expression "*(undefined4 **)pcVar46" * (cast_expression "(undefined4 **)pcVar46" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) , identifier , identifier ))))) ;) (expression_statement "iVar32 = *(int *)(*piVar41 + 0xc);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0xc)" identifier = (pointer_expression "*(int *)(*piVar41 + 0xc)" * (cast_expression "(int *)(*piVar41 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0xc)" ( (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) })) (expression_statement "param_5 = param_5 + -1;" (assignment_expression "param_5 = param_5 + -1" identifier = (binary_expression "param_5 + -1" identifier + number_literal)) ;) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" identifier = (binary_expression "piVar41 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != (code *)0xffffffff)" ( (binary_expression "param_5 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" { (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" ( (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_17c,iVar32,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) })) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" identifier = (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" ( (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" * (cast_expression "(int *)(puVar47 + 0x96c78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c78)" ( (binary_expression "puVar47 + 0x96c78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_180,0x31,iVar32)" ( identifier , number_literal , identifier )))) ;) (expression_statement "param_5 = pcVar22;" (assignment_expression "param_5 = pcVar22" identifier = identifier) ;) (if_statement "if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" { (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (if_statement "if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" if (parenthesized_expression "(pcVar38 != (code *)0x0)" ( (binary_expression "pcVar38 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" { (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))" ( (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" * (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" ( (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7d30" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" * (cast_expression "(int *)(puVar47 + 0x96bf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96bf8)" ( (binary_expression "puVar47 + 0x96bf8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pcStack_17c,pcVar38)" ( identifier , identifier ))) ;) })) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" identifier = (pointer_expression "*(int *)(puVar47 + 0x96c38)" * (cast_expression "(int *)(puVar47 + 0x96c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + 0x96c38)" ( (binary_expression "puVar47 + 0x96c38" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);" (assignment_expression "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1)" identifier = (cast_expression "(code *)(*(uint *)(iStack_178 + 4) & 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(uint *)(iStack_178 + 4) & 1)" ( (binary_expression "*(uint *)(iStack_178 + 4) & 1" (pointer_expression "*(uint *)(iStack_178 + 4)" * (cast_expression "(uint *)(iStack_178 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_178 + 4)" ( (binary_expression "iStack_178 + 4" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" * (cast_expression "(uint *)(iVar32 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 4)" ( (binary_expression "iVar32 + 4" identifier + number_literal) )))) | (cast_expression "(uint)pcVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar3 = *(undefined2 *)(iStack_178 + 0x26);" (assignment_expression "uVar3 = *(undefined2 *)(iStack_178 + 0x26)" identifier = (pointer_expression "*(undefined2 *)(iStack_178 + 0x26)" * (cast_expression "(undefined2 *)(iStack_178 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_178 + 0x26)" ( (binary_expression "iStack_178 + 0x26" identifier + number_literal) ))))) ;) (expression_statement "*(code **)(iVar32 + 0x14) = pcVar38;" (assignment_expression "*(code **)(iVar32 + 0x14) = pcVar38" (pointer_expression "*(code **)(iVar32 + 0x14)" * (cast_expression "(code **)(iVar32 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar32 + 0x14)" ( (binary_expression "iVar32 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = uVar3;" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = uVar3" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" * (cast_expression "(undefined2 *)(iVar32 + 0x26)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x26)" ( (binary_expression "iVar32 + 0x26" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" identifier = (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" ( (pointer_expression "*(code *)(iVar39 + -0x73f4)" * (cast_expression "(code *)(iVar39 + -0x73f4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + -0x73f4)" ( (binary_expression "iVar39 + -0x73f4" identifier + number_literal) )))) )) (argument_list "(pcVar22,iVar32,3)" ( identifier , identifier , number_literal )))) ;) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar32);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar32)" identifier (argument_list "(pcVar26,pcVar22,iVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" * (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" identifier = (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" ( (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + (binary_expression "iVar32 * 0x30" identifier * number_literal)) )))) ;) (expression_statement "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar27 + 8)" * (cast_expression "(undefined2 *)(pcVar27 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 8)" ( (binary_expression "pcVar27 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" * (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" ( (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" identifier + (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) ))))) + number_literal) ))))) ;) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ]) = (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" ( (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" identifier [ (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" * (cast_expression "(int *)(pcVar22 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar22 + 0x14)" ( (binary_expression "pcVar22 + 0x14" identifier + number_literal) )))) + number_literal) ])) + number_literal) )))) ;) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" identifier = identifier) ;) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" statement_identifier : (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" if (parenthesized_expression "(pcVar42 != (code *)0x0)" ( (binary_expression "pcVar42 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000c5c2c;" goto statement_identifier ;))) (expression_statement "iVar32 = *(int *)(pcVar27 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar27 + 0xc)" identifier = (pointer_expression "*(int *)(pcVar27 + 0xc)" * (cast_expression "(int *)(pcVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xc)" ( (binary_expression "pcVar27 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = (code *)0x1;" (assignment_expression "pcVar42 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar31 = pcVar38;" (assignment_expression "pcVar31 = pcVar38" identifier = identifier) ;) (goto_statement "goto LAB_000c5bb0;" goto statement_identifier ;) (labeled_statement "LAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" statement_identifier : (expression_statement "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" * (cast_expression "(ushort *)((int)piVar44 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar44 + 0x3a)" ( (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" * (cast_expression "(ushort *)((int)piVar44 + 0x3a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar44 + 0x3a)" ( (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;)) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" identifier = identifier) ;) (goto_statement "goto LAB_000c6768;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 ( ))) ;) })) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = 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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = 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 = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * IDENT)) ;) (expression_statement (assignment_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 *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 { (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) ;) }) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (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 *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) }))) (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) )))) = IDENT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (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) ))))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT >> LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT >> LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression IDENT >> LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) )) << LIT) )))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , IDENT , LIT , LIT ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (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 + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (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 )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_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 , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( IDENT )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (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 = (binary_expression 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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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 ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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 IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) (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) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (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 (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )) * LIT)) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 , IDENT , (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (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 + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression 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 *)) ) LIT)) )) (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) )))) ;) }))) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) & 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) & 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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (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 IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (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) ))))) ;) (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 IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT < 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) }) (else_clause else (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) )))) == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) )) && (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (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 = 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) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_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 == (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) ))) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - LIT) ^ LIT) )) + LIT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT | (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) & LIT)) ;) }))))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (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 { (if_statement if (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (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 (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (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 = (pointer_expression * (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT - LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (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) ))))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) != IDENT) ))))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != IDENT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != IDENT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_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 *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) & LIT) ))) | (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | 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 *)) ) (parenthesized_expression ( (binary_expression 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT)) ))))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )) * LIT) + (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (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 ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }))) }) (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) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) LIT)) && (parenthesized_expression ( (binary_expression IDENT == LIT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT)) ))) )) (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 (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) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) }) (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 (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (char_literal ' escape_sequence '))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (char_literal ' escape_sequence '))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 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 , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , 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 , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 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 , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , 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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (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 + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ IDENT ]) == IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression 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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 *)) ) 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 *)) ) LIT)) ;) })) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = 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 ;)) (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 , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (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 = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 == IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (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)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT )))) ;) (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 + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (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 = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression 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 *)) ) (parenthesized_expression ( (binary_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 (parenthesized_expression ( (binary_expression IDENT == 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) ))))) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (pointer_expression * IDENT) == LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (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 , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) })) })) })) }))) })) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) | IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 = LIT) ;) }) (else_clause else (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | IDENT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_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 (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) - LIT) & LIT) )) < LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) - LIT) & LIT) ))) )) << LIT) ))) < LIT) ))) )) || (parenthesized_expression ( (binary_expression (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 IDENT + LIT) )))) == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) })) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression 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 (assignment_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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 *))) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (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)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_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) & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = 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 = (binary_expression IDENT & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & IDENT) )))) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (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 IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (comma_expression (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) , (comma_expression (assignment_expression IDENT = IDENT) , (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 = 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 = (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 *)) ) LIT)) ;) (expression_statement (assignment_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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + (binary_expression IDENT * 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) )))) ;) (if_statement if (parenthesized_expression ( (binary_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)) )) (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 *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 = (binary_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 *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))))) , (pointer_expression * IDENT) , LIT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )))) )) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , 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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression IDENT + LIT) ))) )) (argument_list ( IDENT , IDENT , LIT , 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 , LIT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_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) )))) + IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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) )))) = (binary_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 (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) != LIT)) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) while (parenthesized_expression ( BOOL )) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 (pointer_expression * IDENT) + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_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 == IDENT) ))) )) (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 (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) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 *)) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (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) ))))) ;) (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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_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 , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (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) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 *)) ) 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (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 (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 ;) })))
(function_definition "void FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" (primitive_type "void") (function_declarator "FUN_000c4870(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" (identifier "FUN_000c4870") (parameter_list "(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,\n                 code *param_6)" (( "(") (parameter_declaration "code *param_1" (type_identifier "code") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "code *param_4" (type_identifier "code") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "code *param_5" (type_identifier "code") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "code *param_6" (type_identifier "code") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined2 uVar3;\n  uint uVar4;\n  int in_zero;\n  int *piVar5;\n  code *pcVar6;\n  ushort uVar14;\n  byte *pbVar7;\n  code cVar15;\n  undefined4 uVar8;\n  char cVar16;\n  undefined4 uVar9;\n  int iVar10;\n  uint uVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  code *pcVar17;\n  uint uVar18;\n  ushort uVar23;\n  int iVar19;\n  undefined4 *puVar20;\n  uint uVar21;\n  code cVar24;\n  code *pcVar22;\n  undefined1 uVar25;\n  code *pcVar26;\n  code *pcVar27;\n  short sVar28;\n  int iVar29;\n  byte *pbVar30;\n  code *pcVar31;\n  undefined4 in_t0;\n  int iVar32;\n  int iVar33;\n  uint uVar34;\n  undefined4 in_t1;\n  char *pcVar35;\n  char *pcVar36;\n  code *pcVar37;\n  code *in_t2;\n  code *in_t3;\n  code *in_t4;\n  code *in_t5;\n  code *in_t6;\n  code *pcVar38;\n  int iVar39;\n  char *pcVar40;\n  int *piVar41;\n  code *pcVar42;\n  code *pcVar43;\n  bool bVar45;\n  int *piVar44;\n  code *pcVar46;\n  undefined *puVar47;\n  code *pcVar48;\n  undefined8 uVar49;\n  undefined8 uVar50;\n  ulonglong uVar51;\n  ulonglong uVar52;\n  undefined8 uVar53;\n  code *pcVar54;\n  code *pcVar55;\n  code *pcVar56;\n  code *pcStack_1b8;\n  code *pcStack_1b0;\n  code *pcStack_1a4;\n  code *pcStack_19c;\n  uint uStack_198;\n  uint uStack_194;\n  code *pcStack_190;\n  code *pcStack_18c;\n  code *pcStack_188;\n  code *pcStack_184;\n  undefined4 *puStack_180;\n  code *pcStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 auStack_168 [4];\n  undefined1 auStack_164 [4];\n  undefined4 uStack_160;\n  undefined4 uStack_15c;\n  byte bStack_158;\n  byte bStack_157;\n  byte bStack_156;\n  byte bStack_155;\n  int iStack_154;\n  undefined4 *puStack_150;\n  undefined4 *puStack_14c;\n  code *pcStack_148;\n  code *pcStack_144;\n  code *pcStack_140;\n  undefined *puStack_13c;\n  code *pcStack_138;\n  code *pcStack_134;\n  int *piStack_130;\n  code *pcStack_12c;\n  code *pcStack_120;\n  code *local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 *local_100;\n  undefined4 *local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined4 local_f0;\n  undefined4 local_ec;\n  undefined4 local_e8;\n  undefined4 local_e4;\n  undefined4 local_e0;\n  undefined4 local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  code *local_c8;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  undefined4 local_ac;\n  undefined4 local_a8;\n  undefined4 local_a4;\n  undefined4 local_a0;\n  undefined4 local_9c;\n  undefined4 local_98;\n  undefined4 local_94;\n  code *local_90;\n  undefined4 local_8c;\n  undefined4 local_88;\n  undefined4 local_84;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined4 local_68;\n  undefined1 local_64 [4];\n  uint local_60;\n  undefined4 local_48;\n  undefined1 local_3c;\n  int local_2c;\n  \n  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;\n  pcVar42 = (code *)&local_10c;\n  local_110 = (code *)0x0;\n  local_d4 = 0;\n  local_d0 = 0;\n  local_cc = 0;\n  local_c8 = (code *)0x0;\n  local_c4 = 0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = 0;\n  local_b4 = 0;\n  local_b0 = 0;\n  local_ac = 0;\n  local_a8 = 0;\n  local_a4 = 0;\n  local_a0 = 0;\n  local_9c = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  local_98 = 0;\n  local_10c = 0;\n  local_94 = 0;\n  local_90 = (code *)0x0;\n  local_8c = 0;\n  local_88 = 0;\n  local_84 = 0;\n  local_80 = 0;\n  local_7c = 0;\n  local_78 = 0;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_108 = 0;\n  local_104 = 0;\n  local_100 = (undefined4 *)0x0;\n  local_fc = (undefined4 *)0x0;\n  local_f8 = 0;\n  local_f4 = 0;\n  local_f0 = 0;\n  local_ec = 0;\n  local_e8 = 0;\n  local_e4 = 0;\n  local_e0 = 0;\n  local_dc = 0;\n  local_d8 = 0;\n  pcVar31 = param_4;\n  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);\n  local_10c = CONCAT13(0x2c,local_10c._1_3_);\n  local_d4 = CONCAT13(0x39,local_d4._1_3_);\n  local_9c = CONCAT13(0x37,local_9c._1_3_);\n  local_c4 = *(undefined4 *)(*param_3 + 4);\n  local_8c = *(undefined4 *)(*param_3 + 0x18);\n  local_100 = &local_d4;\n  local_fc = &local_9c;\n  local_c8 = (code *)local_64;\n  local_90 = (code *)local_64;\n  local_48 = FUN_000c29d4(param_1,local_64,&local_110);\n  local_3c = local_64[0];\n  local_60 = local_60 & 0xffffefff;\n  local_64[0] = (code)0xa4;\n  pcVar26 = param_1;\n  pcVar46 = param_4;\n  if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }\n  pcVar22 = local_110;\n  if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }\n  if (local_2c == *(int *)pcVar27) {\n    return;\n  }\n  pcVar48 = FUN_000c4ac8;\n  puVar47 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar5 = *(int **)(puVar47 + 0x96f64);\n  pcStack_134 = param_5;\n  puStack_13c = pcVar27;\n  pcVar38 = *(code **)pcVar22;\n  iStack_154 = *piVar5;\n  pcVar17 = *(code **)pcVar38;\n  pcVar6 = *(code **)pcVar17;\n  pcVar43 = (code *)local_64;\n  puStack_150 = &local_9c;\n  puStack_14c = &local_d4;\n  pcStack_148 = pcVar42;\n  pcStack_144 = (code *)local_64;\n  pcStack_140 = param_1;\n  pcStack_138 = param_4;\n  piStack_130 = param_3;\n  pcStack_12c = pcVar48;\n  pcStack_120 = pcVar46;\n  uVar53 = CONCAT44(in_t1,in_t0);\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  pcStack_1b8 = pcVar38 + 0x1e8;\n  pcStack_19c = (code *)((int)pcVar46 * 0x30);\n  pcVar43 = pcStack_19c + iVar32;\n  param_4 = *(code **)pcVar43;\n  pcVar27 = pcVar22;\n  if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  *(undefined4 *)(pcVar38 + 0x1e8) = 0;\n  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);\n  if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }\n  if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }\n  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcVar48 = (code *)uVar50;\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(undefined2 *)(pcVar43 + 0xc) = 0;\n  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;\n  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;\n  pcVar46 = pcVar43;\n  uVar53 = uVar50;\n  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }\n  iVar32 = *(int *)(param_4 + 0xc);\n  if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }\n  param_5 = *(code **)(param_4 + 0x10);\n  if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }\n  uVar23 = 0x1fff;\n  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }\n  if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }\n  iVar39 = *(int *)(puVar47 + 0x96c4c);\n  pcVar31 = pcVar42;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);\n  if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }\n  if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }\n  pcVar38 = (code *)&uStack_160;\n  pcStack_190 = pcVar37;\n  pcStack_18c = pcVar48;\n  if (param_5 == (code *)0x0) goto LAB_000c4d78;\n  pcVar31 = *(code **)(pcVar43 + 0x24);\n  pcVar54 = (code *)&uStack_160;\n  pcVar55 = param_5;\n  pcVar56 = param_1;\n  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);\n  if (iVar32 == 0) goto LAB_000c4d78;\n  uVar49 = uVar50;\n  if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }\nLAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);\n  uVar18 = *(uint *)(iVar39 + 4) & 0x100;\n  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }\n  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcStack_18c = (code *)uVar49;\n  *(int *)(param_5 + 0xc) = iVar39;\n  *(int *)(param_5 + 0x10) = iVar32;\n  if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }\n  *(undefined8 *)(pcVar43 + 0x28) = uVar50;\n  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;\n  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);\n  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;\n  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n  uVar18 = (uint)(byte)*param_5;\n  if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }\n  param_1 = (code *)(uVar13 + uVar18);\n  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;\n  pcVar38 = pcVar43;\n  uVar53 = uVar50;\nLAB_000c4d78:\n  pcVar43 = pcVar46;\n  uVar50 = uVar53;\n  if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n  pcVar42 = (code *)uVar49;\n  iVar32 = *(int *)(pcVar22 + 0x14);\n  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;\n  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;\n  pcVar27 = pcVar22;\n  uVar53 = uVar50;\n  uVar50 = CONCAT44(pcStack_190,pcStack_18c);\nLAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }\n  (**(code **)(puVar47 + 0x96f48))();\n  pcVar46 = param_5;\nLAB_000c7158:\n  uVar13 = 0;\nLAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);\n  if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }\n  in_t2 = (code *)((uint)in_t2 | uVar18);\n  in_t3 = (code *)((uint)in_t3 | uVar13);\n  while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }\n  uVar13 = 0;\n  param_5 = (code *)0x0;\n  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);\n  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);\n  pcVar22 = pcVar27;\n  while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }\nLAB_000c5b30:\n  pcStack_18c = (code *)uVar50;\n  *(code **)(pcVar43 + 0x198) = pcStack_188;\n  *(code **)(pcVar43 + 0x19c) = pcStack_184;\n  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;\n  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n  pcVar22[9] = (code)0x1;\n  in_t4 = param_5;\n  if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }\n  goto LAB_000c5b6c;\nLAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);\n  if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }\n  goto LAB_000c5d04;\nLAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;\n  *(undefined4 *)(pcVar43 + 0x198) = 0;\nLAB_000c5f04:\n  pcStack_18c = (code *)uVar50;\n  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;\n  in_t4 = param_5;\nLAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n  pcStack_18c = (code *)uVar50;\n  pcVar27 = pcVar38;\n  param_5 = pcVar46;\n  if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }\nLAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n  pcVar38 = pcVar27;\n  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));\n  goto LAB_000c4d78;\nLAB_000c5b24:\n  pcVar42 = pcVar42 + -1;\n  pcVar46 = pcVar46 + 0x30;\n  if (pcVar42 == pcVar38) goto LAB_000c5b30;\n  goto LAB_000c5ae4;\ncode_r0x000c6748:\n  param_1 = (code *)piVar41[7];\n  pcStack_188 = *(code **)(*piVar41 + 0xc);\nLAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }\nLAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;\n  iVar32 = *(int *)(pcVar27 + 0xc);\n  pcVar42 = (code *)0x1;\n  pcVar31 = pcVar38;\n  goto LAB_000c5bb0;\nLAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;\n  piVar44 = piVar41;\n  goto LAB_000c6768;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined2 uVar3;" (type_identifier "undefined2") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int in_zero;" (primitive_type "int") (identifier "in_zero") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "ushort uVar14;" (type_identifier "ushort") (identifier "uVar14") (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "code cVar15;" (type_identifier "code") (identifier "cVar15") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "char cVar16;" (primitive_type "char") (identifier "cVar16") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "code *pcVar17;" (type_identifier "code") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "ushort uVar23;" (type_identifier "ushort") (identifier "uVar23") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "code cVar24;" (type_identifier "code") (identifier "cVar24") (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "undefined1 uVar25;" (type_identifier "undefined1") (identifier "uVar25") (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "short sVar28;" (sized_type_specifier "short" (short "short")) (identifier "sVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "byte *pbVar30;" (type_identifier "byte") (pointer_declarator "*pbVar30" (* "*") (identifier "pbVar30")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "undefined4 in_t0;" (type_identifier "undefined4") (identifier "in_t0") (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "uint uVar34;" (type_identifier "uint") (identifier "uVar34") (; ";")) (declaration "undefined4 in_t1;" (type_identifier "undefined4") (identifier "in_t1") (; ";")) (declaration "char *pcVar35;" (primitive_type "char") (pointer_declarator "*pcVar35" (* "*") (identifier "pcVar35")) (; ";")) (declaration "char *pcVar36;" (primitive_type "char") (pointer_declarator "*pcVar36" (* "*") (identifier "pcVar36")) (; ";")) (declaration "code *pcVar37;" (type_identifier "code") (pointer_declarator "*pcVar37" (* "*") (identifier "pcVar37")) (; ";")) (declaration "code *in_t2;" (type_identifier "code") (pointer_declarator "*in_t2" (* "*") (identifier "in_t2")) (; ";")) (declaration "code *in_t3;" (type_identifier "code") (pointer_declarator "*in_t3" (* "*") (identifier "in_t3")) (; ";")) (declaration "code *in_t4;" (type_identifier "code") (pointer_declarator "*in_t4" (* "*") (identifier "in_t4")) (; ";")) (declaration "code *in_t5;" (type_identifier "code") (pointer_declarator "*in_t5" (* "*") (identifier "in_t5")) (; ";")) (declaration "code *in_t6;" (type_identifier "code") (pointer_declarator "*in_t6" (* "*") (identifier "in_t6")) (; ";")) (declaration "code *pcVar38;" (type_identifier "code") (pointer_declarator "*pcVar38" (* "*") (identifier "pcVar38")) (; ";")) (declaration "int iVar39;" (primitive_type "int") (identifier "iVar39") (; ";")) (declaration "char *pcVar40;" (primitive_type "char") (pointer_declarator "*pcVar40" (* "*") (identifier "pcVar40")) (; ";")) (declaration "int *piVar41;" (primitive_type "int") (pointer_declarator "*piVar41" (* "*") (identifier "piVar41")) (; ";")) (declaration "code *pcVar42;" (type_identifier "code") (pointer_declarator "*pcVar42" (* "*") (identifier "pcVar42")) (; ";")) (declaration "code *pcVar43;" (type_identifier "code") (pointer_declarator "*pcVar43" (* "*") (identifier "pcVar43")) (; ";")) (declaration "bool bVar45;" (primitive_type "bool") (identifier "bVar45") (; ";")) (declaration "int *piVar44;" (primitive_type "int") (pointer_declarator "*piVar44" (* "*") (identifier "piVar44")) (; ";")) (declaration "code *pcVar46;" (type_identifier "code") (pointer_declarator "*pcVar46" (* "*") (identifier "pcVar46")) (; ";")) (declaration "undefined *puVar47;" (type_identifier "undefined") (pointer_declarator "*puVar47" (* "*") (identifier "puVar47")) (; ";")) (declaration "code *pcVar48;" (type_identifier "code") (pointer_declarator "*pcVar48" (* "*") (identifier "pcVar48")) (; ";")) (declaration "undefined8 uVar49;" (type_identifier "undefined8") (identifier "uVar49") (; ";")) (declaration "undefined8 uVar50;" (type_identifier "undefined8") (identifier "uVar50") (; ";")) (declaration "ulonglong uVar51;" (type_identifier "ulonglong") (identifier "uVar51") (; ";")) (declaration "ulonglong uVar52;" (type_identifier "ulonglong") (identifier "uVar52") (; ";")) (declaration "undefined8 uVar53;" (type_identifier "undefined8") (identifier "uVar53") (; ";")) (declaration "code *pcVar54;" (type_identifier "code") (pointer_declarator "*pcVar54" (* "*") (identifier "pcVar54")) (; ";")) (declaration "code *pcVar55;" (type_identifier "code") (pointer_declarator "*pcVar55" (* "*") (identifier "pcVar55")) (; ";")) (declaration "code *pcVar56;" (type_identifier "code") (pointer_declarator "*pcVar56" (* "*") (identifier "pcVar56")) (; ";")) (declaration "code *pcStack_1b8;" (type_identifier "code") (pointer_declarator "*pcStack_1b8" (* "*") (identifier "pcStack_1b8")) (; ";")) (declaration "code *pcStack_1b0;" (type_identifier "code") (pointer_declarator "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) (; ";")) (declaration "code *pcStack_1a4;" (type_identifier "code") (pointer_declarator "*pcStack_1a4" (* "*") (identifier "pcStack_1a4")) (; ";")) (declaration "code *pcStack_19c;" (type_identifier "code") (pointer_declarator "*pcStack_19c" (* "*") (identifier "pcStack_19c")) (; ";")) (declaration "uint uStack_198;" (type_identifier "uint") (identifier "uStack_198") (; ";")) (declaration "uint uStack_194;" (type_identifier "uint") (identifier "uStack_194") (; ";")) (declaration "code *pcStack_190;" (type_identifier "code") (pointer_declarator "*pcStack_190" (* "*") (identifier "pcStack_190")) (; ";")) (declaration "code *pcStack_18c;" (type_identifier "code") (pointer_declarator "*pcStack_18c" (* "*") (identifier "pcStack_18c")) (; ";")) (declaration "code *pcStack_188;" (type_identifier "code") (pointer_declarator "*pcStack_188" (* "*") (identifier "pcStack_188")) (; ";")) (declaration "code *pcStack_184;" (type_identifier "code") (pointer_declarator "*pcStack_184" (* "*") (identifier "pcStack_184")) (; ";")) (declaration "undefined4 *puStack_180;" (type_identifier "undefined4") (pointer_declarator "*puStack_180" (* "*") (identifier "puStack_180")) (; ";")) (declaration "code *pcStack_17c;" (type_identifier "code") (pointer_declarator "*pcStack_17c" (* "*") (identifier "pcStack_17c")) (; ";")) (declaration "int iStack_178;" (primitive_type "int") (identifier "iStack_178") (; ";")) (declaration "code *pcStack_174;" (type_identifier "code") (pointer_declarator "*pcStack_174" (* "*") (identifier "pcStack_174")) (; ";")) (declaration "undefined1 auStack_168 [4];" (type_identifier "undefined1") (array_declarator "auStack_168 [4]" (identifier "auStack_168") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 auStack_164 [4];" (type_identifier "undefined1") (array_declarator "auStack_164 [4]" (identifier "auStack_164") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 uStack_160;" (type_identifier "undefined4") (identifier "uStack_160") (; ";")) (declaration "undefined4 uStack_15c;" (type_identifier "undefined4") (identifier "uStack_15c") (; ";")) (declaration "byte bStack_158;" (type_identifier "byte") (identifier "bStack_158") (; ";")) (declaration "byte bStack_157;" (type_identifier "byte") (identifier "bStack_157") (; ";")) (declaration "byte bStack_156;" (type_identifier "byte") (identifier "bStack_156") (; ";")) (declaration "byte bStack_155;" (type_identifier "byte") (identifier "bStack_155") (; ";")) (declaration "int iStack_154;" (primitive_type "int") (identifier "iStack_154") (; ";")) (declaration "undefined4 *puStack_150;" (type_identifier "undefined4") (pointer_declarator "*puStack_150" (* "*") (identifier "puStack_150")) (; ";")) (declaration "undefined4 *puStack_14c;" (type_identifier "undefined4") (pointer_declarator "*puStack_14c" (* "*") (identifier "puStack_14c")) (; ";")) (declaration "code *pcStack_148;" (type_identifier "code") (pointer_declarator "*pcStack_148" (* "*") (identifier "pcStack_148")) (; ";")) (declaration "code *pcStack_144;" (type_identifier "code") (pointer_declarator "*pcStack_144" (* "*") (identifier "pcStack_144")) (; ";")) (declaration "code *pcStack_140;" (type_identifier "code") (pointer_declarator "*pcStack_140" (* "*") (identifier "pcStack_140")) (; ";")) (declaration "undefined *puStack_13c;" (type_identifier "undefined") (pointer_declarator "*puStack_13c" (* "*") (identifier "puStack_13c")) (; ";")) (declaration "code *pcStack_138;" (type_identifier "code") (pointer_declarator "*pcStack_138" (* "*") (identifier "pcStack_138")) (; ";")) (declaration "code *pcStack_134;" (type_identifier "code") (pointer_declarator "*pcStack_134" (* "*") (identifier "pcStack_134")) (; ";")) (declaration "int *piStack_130;" (primitive_type "int") (pointer_declarator "*piStack_130" (* "*") (identifier "piStack_130")) (; ";")) (declaration "code *pcStack_12c;" (type_identifier "code") (pointer_declarator "*pcStack_12c" (* "*") (identifier "pcStack_12c")) (; ";")) (declaration "code *pcStack_120;" (type_identifier "code") (pointer_declarator "*pcStack_120" (* "*") (identifier "pcStack_120")) (; ";")) (declaration "code *local_110;" (type_identifier "code") (pointer_declarator "*local_110" (* "*") (identifier "local_110")) (; ";")) (declaration "undefined4 local_10c;" (type_identifier "undefined4") (identifier "local_10c") (; ";")) (declaration "undefined4 local_108;" (type_identifier "undefined4") (identifier "local_108") (; ";")) (declaration "undefined4 local_104;" (type_identifier "undefined4") (identifier "local_104") (; ";")) (declaration "undefined4 *local_100;" (type_identifier "undefined4") (pointer_declarator "*local_100" (* "*") (identifier "local_100")) (; ";")) (declaration "undefined4 *local_fc;" (type_identifier "undefined4") (pointer_declarator "*local_fc" (* "*") (identifier "local_fc")) (; ";")) (declaration "undefined4 local_f8;" (type_identifier "undefined4") (identifier "local_f8") (; ";")) (declaration "undefined4 local_f4;" (type_identifier "undefined4") (identifier "local_f4") (; ";")) (declaration "undefined4 local_f0;" (type_identifier "undefined4") (identifier "local_f0") (; ";")) (declaration "undefined4 local_ec;" (type_identifier "undefined4") (identifier "local_ec") (; ";")) (declaration "undefined4 local_e8;" (type_identifier "undefined4") (identifier "local_e8") (; ";")) (declaration "undefined4 local_e4;" (type_identifier "undefined4") (identifier "local_e4") (; ";")) (declaration "undefined4 local_e0;" (type_identifier "undefined4") (identifier "local_e0") (; ";")) (declaration "undefined4 local_dc;" (type_identifier "undefined4") (identifier "local_dc") (; ";")) (declaration "undefined4 local_d8;" (type_identifier "undefined4") (identifier "local_d8") (; ";")) (declaration "undefined4 local_d4;" (type_identifier "undefined4") (identifier "local_d4") (; ";")) (declaration "undefined4 local_d0;" (type_identifier "undefined4") (identifier "local_d0") (; ";")) (declaration "undefined4 local_cc;" (type_identifier "undefined4") (identifier "local_cc") (; ";")) (declaration "code *local_c8;" (type_identifier "code") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "undefined4 local_c4;" (type_identifier "undefined4") (identifier "local_c4") (; ";")) (declaration "undefined4 local_c0;" (type_identifier "undefined4") (identifier "local_c0") (; ";")) (declaration "undefined4 local_bc;" (type_identifier "undefined4") (identifier "local_bc") (; ";")) (declaration "undefined4 local_b8;" (type_identifier "undefined4") (identifier "local_b8") (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "undefined4 local_b0;" (type_identifier "undefined4") (identifier "local_b0") (; ";")) (declaration "undefined4 local_ac;" (type_identifier "undefined4") (identifier "local_ac") (; ";")) (declaration "undefined4 local_a8;" (type_identifier "undefined4") (identifier "local_a8") (; ";")) (declaration "undefined4 local_a4;" (type_identifier "undefined4") (identifier "local_a4") (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "undefined4 local_9c;" (type_identifier "undefined4") (identifier "local_9c") (; ";")) (declaration "undefined4 local_98;" (type_identifier "undefined4") (identifier "local_98") (; ";")) (declaration "undefined4 local_94;" (type_identifier "undefined4") (identifier "local_94") (; ";")) (declaration "code *local_90;" (type_identifier "code") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined4 local_8c;" (type_identifier "undefined4") (identifier "local_8c") (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined4 local_84;" (type_identifier "undefined4") (identifier "local_84") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "undefined4 local_78;" (type_identifier "undefined4") (identifier "local_78") (; ";")) (declaration "undefined4 local_74;" (type_identifier "undefined4") (identifier "local_74") (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "undefined1 local_64 [4];" (type_identifier "undefined1") (array_declarator "local_64 [4]" (identifier "local_64") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "undefined4 local_48;" (type_identifier "undefined4") (identifier "local_48") (; ";")) (declaration "undefined1 local_3c;" (type_identifier "undefined1") (identifier "local_3c") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c" (identifier "pcVar27") (= "=") (cast_expression "(code *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c"))) (; ";")) (expression_statement "pcVar42 = (code *)&local_10c;" (assignment_expression "pcVar42 = (code *)&local_10c" (identifier "pcVar42") (= "=") (cast_expression "(code *)&local_10c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_10c" (& "&") (identifier "local_10c")))) (; ";")) (expression_statement "local_110 = (code *)0x0;" (assignment_expression "local_110 = (code *)0x0" (identifier "local_110") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = (code *)0x0;" (assignment_expression "local_c8 = (code *)0x0" (identifier "local_c8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" (identifier "local_bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = 0;" (assignment_expression "local_a4 = 0" (identifier "local_a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_10c = 0;" (assignment_expression "local_10c = 0" (identifier "local_10c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = (code *)0x0;" (assignment_expression "local_90 = (code *)0x0" (identifier "local_90") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_104 = 0;" (assignment_expression "local_104 = 0" (identifier "local_104") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_100 = (undefined4 *)0x0;" (assignment_expression "local_100 = (undefined4 *)0x0" (identifier "local_100") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_fc = (undefined4 *)0x0;" (assignment_expression "local_fc = (undefined4 *)0x0" (identifier "local_fc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_f8 = 0;" (assignment_expression "local_f8 = 0" (identifier "local_f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f4 = 0;" (assignment_expression "local_f4 = 0" (identifier "local_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" (identifier "local_ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" (identifier "local_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" (identifier "local_e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar31 = param_4;" (assignment_expression "pcVar31 = param_4" (identifier "pcVar31") (= "=") (identifier "param_4")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x656c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x656c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x656c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x656c)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x656c" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x656c")) () ")")))) () ")")) (argument_list "(local_64,*param_2)" (( "(") (identifier "local_64") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")"))) (; ";")) (expression_statement "local_10c = CONCAT13(0x2c,local_10c._1_3_);" (assignment_expression "local_10c = CONCAT13(0x2c,local_10c._1_3_)" (identifier "local_10c") (= "=") (call_expression "CONCAT13(0x2c,local_10c._1_3_)" (identifier "CONCAT13") (argument_list "(0x2c,local_10c._1_3_)" (( "(") (number_literal "0x2c") (, ",") (field_expression "local_10c._1_3_" (identifier "local_10c") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "local_d4 = CONCAT13(0x39,local_d4._1_3_);" (assignment_expression "local_d4 = CONCAT13(0x39,local_d4._1_3_)" (identifier "local_d4") (= "=") (call_expression "CONCAT13(0x39,local_d4._1_3_)" (identifier "CONCAT13") (argument_list "(0x39,local_d4._1_3_)" (( "(") (number_literal "0x39") (, ",") (field_expression "local_d4._1_3_" (identifier "local_d4") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "local_9c = CONCAT13(0x37,local_9c._1_3_);" (assignment_expression "local_9c = CONCAT13(0x37,local_9c._1_3_)" (identifier "local_9c") (= "=") (call_expression "CONCAT13(0x37,local_9c._1_3_)" (identifier "CONCAT13") (argument_list "(0x37,local_9c._1_3_)" (( "(") (number_literal "0x37") (, ",") (field_expression "local_9c._1_3_" (identifier "local_9c") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "local_c4 = *(undefined4 *)(*param_3 + 4);" (assignment_expression "local_c4 = *(undefined4 *)(*param_3 + 4)" (identifier "local_c4") (= "=") (pointer_expression "*(undefined4 *)(*param_3 + 4)" (* "*") (cast_expression "(undefined4 *)(*param_3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_3 + 4)" (( "(") (binary_expression "*param_3 + 4" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_8c = *(undefined4 *)(*param_3 + 0x18);" (assignment_expression "local_8c = *(undefined4 *)(*param_3 + 0x18)" (identifier "local_8c") (= "=") (pointer_expression "*(undefined4 *)(*param_3 + 0x18)" (* "*") (cast_expression "(undefined4 *)(*param_3 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_3 + 0x18)" (( "(") (binary_expression "*param_3 + 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_100 = &local_d4;" (assignment_expression "local_100 = &local_d4" (identifier "local_100") (= "=") (pointer_expression "&local_d4" (& "&") (identifier "local_d4"))) (; ";")) (expression_statement "local_fc = &local_9c;" (assignment_expression "local_fc = &local_9c" (identifier "local_fc") (= "=") (pointer_expression "&local_9c" (& "&") (identifier "local_9c"))) (; ";")) (expression_statement "local_c8 = (code *)local_64;" (assignment_expression "local_c8 = (code *)local_64" (identifier "local_c8") (= "=") (cast_expression "(code *)local_64" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_64"))) (; ";")) (expression_statement "local_90 = (code *)local_64;" (assignment_expression "local_90 = (code *)local_64" (identifier "local_90") (= "=") (cast_expression "(code *)local_64" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_64"))) (; ";")) (expression_statement "local_48 = FUN_000c29d4(param_1,local_64,&local_110);" (assignment_expression "local_48 = FUN_000c29d4(param_1,local_64,&local_110)" (identifier "local_48") (= "=") (call_expression "FUN_000c29d4(param_1,local_64,&local_110)" (identifier "FUN_000c29d4") (argument_list "(param_1,local_64,&local_110)" (( "(") (identifier "param_1") (, ",") (identifier "local_64") (, ",") (pointer_expression "&local_110" (& "&") (identifier "local_110")) () ")")))) (; ";")) (expression_statement "local_3c = local_64[0];" (assignment_expression "local_3c = local_64[0]" (identifier "local_3c") (= "=") (subscript_expression "local_64[0]" (identifier "local_64") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_60 = local_60 & 0xffffefff;" (assignment_expression "local_60 = local_60 & 0xffffefff" (identifier "local_60") (= "=") (binary_expression "local_60 & 0xffffefff" (identifier "local_60") (& "&") (number_literal "0xffffefff"))) (; ";")) (expression_statement "local_64[0] = (code)0xa4;" (assignment_expression "local_64[0] = (code)0xa4" (subscript_expression "local_64[0]" (identifier "local_64") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(code)0xa4" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xa4"))) (; ";")) (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" (identifier "pcVar26") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcVar46 = param_4;" (assignment_expression "pcVar46 = param_4" (identifier "pcVar46") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (param_5 == (code *)0x0) {\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }\n  else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" (if "if") (parenthesized_expression "(param_5 == (code *)0x0)" (( "(") (binary_expression "param_5 == (code *)0x0" (identifier "param_5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_60 = local_60 | 1;\n    FUN_000bea74(param_1,pcVar42);\n  }" ({ "{") (expression_statement "local_60 = local_60 | 1;" (assignment_expression "local_60 = local_60 | 1" (identifier "local_60") (= "=") (binary_expression "local_60 | 1" (identifier "local_60") (| "|") (number_literal "1"))) (; ";")) (expression_statement "FUN_000bea74(param_1,pcVar42);" (call_expression "FUN_000bea74(param_1,pcVar42)" (identifier "FUN_000bea74") (argument_list "(param_1,pcVar42)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar42") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" (else "else") (compound_statement "{\n    (*param_5)(param_1,pcVar42);\n    pcVar31 = param_6;\n  }" ({ "{") (expression_statement "(*param_5)(param_1,pcVar42);" (call_expression "(*param_5)(param_1,pcVar42)" (parenthesized_expression "(*param_5)" (( "(") (pointer_expression "*param_5" (* "*") (identifier "param_5")) () ")")) (argument_list "(param_1,pcVar42)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar42") () ")"))) (; ";")) (expression_statement "pcVar31 = param_6;" (assignment_expression "pcVar31 = param_6" (identifier "pcVar31") (= "=") (identifier "param_6")) (; ";")) (} "}")))) (expression_statement "pcVar22 = local_110;" (assignment_expression "pcVar22 = local_110" (identifier "pcVar22") (= "=") (identifier "local_110")) (; ";")) (if_statement "if (local_110 != (code *)0x0) {\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" (if "if") (parenthesized_expression "(local_110 != (code *)0x0)" (( "(") (binary_expression "local_110 != (code *)0x0" (identifier "local_110") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar26 = param_1;\n    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();\n  }" ({ "{") (expression_statement "pcVar26 = param_1;" (assignment_expression "pcVar26 = param_1" (identifier "pcVar26") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();" (call_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6c0 + -0x7cb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6c0 + -0x7cb0)" (( "(") (binary_expression "PTR_LAB_0015b6c0 + -0x7cb0" (identifier "PTR_LAB_0015b6c0") (+ "+") (number_literal "-0x7cb0")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_2c == *(int *)pcVar27) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)pcVar27)" (( "(") (binary_expression "local_2c == *(int *)pcVar27" (identifier "local_2c") (== "==") (pointer_expression "*(int *)pcVar27" (* "*") (cast_expression "(int *)pcVar27" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar27")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar48 = FUN_000c4ac8;" (assignment_expression "pcVar48 = FUN_000c4ac8" (identifier "pcVar48") (= "=") (identifier "FUN_000c4ac8")) (; ";")) (expression_statement "puVar47 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar47 = PTR___stack_chk_fail_0015ba10" (identifier "puVar47") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar5 = *(int **)(puVar47 + 0x96f64);" (assignment_expression "piVar5 = *(int **)(puVar47 + 0x96f64)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(puVar47 + 0x96f64)" (* "*") (cast_expression "(int **)(puVar47 + 0x96f64)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96f64)" (( "(") (binary_expression "puVar47 + 0x96f64" (identifier "puVar47") (+ "+") (number_literal "0x96f64")) () ")"))))) (; ";")) (expression_statement "pcStack_134 = param_5;" (assignment_expression "pcStack_134 = param_5" (identifier "pcStack_134") (= "=") (identifier "param_5")) (; ";")) (expression_statement "puStack_13c = pcVar27;" (assignment_expression "puStack_13c = pcVar27" (identifier "puStack_13c") (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pcVar38 = *(code **)pcVar22;" (assignment_expression "pcVar38 = *(code **)pcVar22" (identifier "pcVar38") (= "=") (pointer_expression "*(code **)pcVar22" (* "*") (cast_expression "(code **)pcVar22" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "iStack_154 = *piVar5;" (assignment_expression "iStack_154 = *piVar5" (identifier "iStack_154") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "pcVar17 = *(code **)pcVar38;" (assignment_expression "pcVar17 = *(code **)pcVar38" (identifier "pcVar17") (= "=") (pointer_expression "*(code **)pcVar38" (* "*") (cast_expression "(code **)pcVar38" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar38")))) (; ";")) (expression_statement "pcVar6 = *(code **)pcVar17;" (assignment_expression "pcVar6 = *(code **)pcVar17" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)pcVar17" (* "*") (cast_expression "(code **)pcVar17" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar17")))) (; ";")) (expression_statement "pcVar43 = (code *)local_64;" (assignment_expression "pcVar43 = (code *)local_64" (identifier "pcVar43") (= "=") (cast_expression "(code *)local_64" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_64"))) (; ";")) (expression_statement "puStack_150 = &local_9c;" (assignment_expression "puStack_150 = &local_9c" (identifier "puStack_150") (= "=") (pointer_expression "&local_9c" (& "&") (identifier "local_9c"))) (; ";")) (expression_statement "puStack_14c = &local_d4;" (assignment_expression "puStack_14c = &local_d4" (identifier "puStack_14c") (= "=") (pointer_expression "&local_d4" (& "&") (identifier "local_d4"))) (; ";")) (expression_statement "pcStack_148 = pcVar42;" (assignment_expression "pcStack_148 = pcVar42" (identifier "pcStack_148") (= "=") (identifier "pcVar42")) (; ";")) (expression_statement "pcStack_144 = (code *)local_64;" (assignment_expression "pcStack_144 = (code *)local_64" (identifier "pcStack_144") (= "=") (cast_expression "(code *)local_64" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_64"))) (; ";")) (expression_statement "pcStack_140 = param_1;" (assignment_expression "pcStack_140 = param_1" (identifier "pcStack_140") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcStack_138 = param_4;" (assignment_expression "pcStack_138 = param_4" (identifier "pcStack_138") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_130 = param_3;" (assignment_expression "piStack_130 = param_3" (identifier "piStack_130") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pcStack_12c = pcVar48;" (assignment_expression "pcStack_12c = pcVar48" (identifier "pcStack_12c") (= "=") (identifier "pcVar48")) (; ";")) (expression_statement "pcStack_120 = pcVar46;" (assignment_expression "pcStack_120 = pcVar46" (identifier "pcStack_120") (= "=") (identifier "pcVar46")) (; ";")) (expression_statement "uVar53 = CONCAT44(in_t1,in_t0);" (assignment_expression "uVar53 = CONCAT44(in_t1,in_t0)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(in_t1,in_t0)" (identifier "CONCAT44") (argument_list "(in_t1,in_t0)" (( "(") (identifier "in_t1") (, ",") (identifier "in_t0") () ")")))) (; ";")) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(pcStack_190,pcStack_18c)" (identifier "CONCAT44") (argument_list "(pcStack_190,pcStack_18c)" (( "(") (identifier "pcStack_190") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (if_statement "if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;" (if "if") (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" (( "(") (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" (identifier "pcVar6") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";"))) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pcStack_1b8 = pcVar38 + 0x1e8;" (assignment_expression "pcStack_1b8 = pcVar38 + 0x1e8" (identifier "pcStack_1b8") (= "=") (binary_expression "pcVar38 + 0x1e8" (identifier "pcVar38") (+ "+") (number_literal "0x1e8"))) (; ";")) (expression_statement "pcStack_19c = (code *)((int)pcVar46 * 0x30);" (assignment_expression "pcStack_19c = (code *)((int)pcVar46 * 0x30)" (identifier "pcStack_19c") (= "=") (cast_expression "(code *)((int)pcVar46 * 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pcVar46 * 0x30)" (( "(") (binary_expression "(int)pcVar46 * 0x30" (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46")) (* "*") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "pcVar43 = pcStack_19c + iVar32;" (assignment_expression "pcVar43 = pcStack_19c + iVar32" (identifier "pcVar43") (= "=") (binary_expression "pcStack_19c + iVar32" (identifier "pcStack_19c") (+ "+") (identifier "iVar32"))) (; ";")) (expression_statement "param_4 = *(code **)pcVar43;" (assignment_expression "param_4 = *(code **)pcVar43" (identifier "param_4") (= "=") (pointer_expression "*(code **)pcVar43" (* "*") (cast_expression "(code **)pcVar43" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar43")))) (; ";")) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" (identifier "pcVar27") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (*(int *)(param_4 + 0xc) == 0) {\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }\n  else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_4 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(param_4 + 0xc) == 0" (pointer_expression "*(int *)(param_4 + 0xc)" (* "*") (cast_expression "(int *)(param_4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar49 = 0;\n    uVar50 = 0;\n    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;\nLAB_000c4cac:\n    uVar49 = uVar50;\n    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n    pcVar42 = (code *)uVar49;\n    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);\n    uVar53 = CONCAT44(in_t1,iVar32);\n    uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n    if (iVar39 != 0) goto LAB_000c4c58;\n    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n  }" ({ "{") (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" (identifier "param_1") (= "=") (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (identifier "param_4"))) (; ";")) (expression_statement "uVar49 = 0;" (assignment_expression "uVar49 = 0" (identifier "uVar49") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" (identifier "uVar50") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;" (if "if") (parenthesized_expression "(param_1 != (code *)&DAT_00000031)" (( "(") (binary_expression "param_1 != (code *)&DAT_00000031" (identifier "param_1") (!= "!=") (cast_expression "(code *)&DAT_00000031" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000031" (& "&") (identifier "DAT_00000031")))) () ")")) (goto_statement "goto LAB_000c4b90;" (goto "goto") (statement_identifier "LAB_000c4b90") (; ";"))) (labeled_statement "LAB_000c4cac:\n    uVar49 = uVar50;" (statement_identifier "LAB_000c4cac") (: ":") (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" (identifier "uVar49") (= "=") (identifier "uVar50")) (; ";"))) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" (identifier "pcVar42") (= "=") (cast_expression "(code *)uVar49" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar49"))) (; ";")) (expression_statement "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);" (assignment_expression "iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" (identifier "iVar39") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1a50)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1a50" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")")))) () ")")) (argument_list "(pcVar17,param_4)" (( "(") (identifier "pcVar17") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "uVar53 = CONCAT44(in_t1,iVar32);" (assignment_expression "uVar53 = CONCAT44(in_t1,iVar32)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(in_t1,iVar32)" (identifier "CONCAT44") (argument_list "(in_t1,iVar32)" (( "(") (identifier "in_t1") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(pcStack_190,pcStack_18c)" (identifier "CONCAT44") (argument_list "(pcStack_190,pcStack_18c)" (( "(") (identifier "pcStack_190") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (if_statement "if (iVar39 != 0) goto LAB_000c4c58;" (if "if") (parenthesized_expression "(iVar39 != 0)" (( "(") (binary_expression "iVar39 != 0" (identifier "iVar39") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";"))) (if_statement "if ((*(uint *)(param_4 + 4) & 0x800) == 0) {\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }\n    else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" (if "if") (parenthesized_expression "((*(uint *)(param_4 + 4) & 0x800) == 0)" (( "(") (binary_expression "(*(uint *)(param_4 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 0x800)" (( "(") (binary_expression "*(uint *)(param_4 + 4) & 0x800" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }\n    }" ({ "{") (if_statement "if (*(int *)(param_4 + 0x14) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_4 + 0x14) == 0)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) == 0" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar50 = 0;\n      }" ({ "{") (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" (identifier "uVar50") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" (else "else") (compound_statement "{\n        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);\n      }" ({ "{") (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" (identifier "uVar50") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2a54)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2a54" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x2a54")) () ")")))) () ")")) (argument_list "(pcStack_1b8)" (( "(") (identifier "pcStack_1b8") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" (else "else") (compound_statement "{\n      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);\n    }" ({ "{") (expression_statement "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" (identifier "uVar50") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2958)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2958" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x2958")) () ")")))) () ")")) (argument_list "(pcStack_1b8)" (( "(") (identifier "pcStack_1b8") () ")")))) (; ";")) (} "}")))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" (* "*") (cast_expression "(undefined8 *)(pcVar43 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x20)" (( "(") (binary_expression "pcVar43 + 0x20" (identifier "pcVar43") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar50")) (; ";")) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" (identifier "pcStack_1b0") (= "=") (cast_expression "(code *)(iVar32 + -0x2d10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x2d10)" (( "(") (binary_expression "iVar32 + -0x2d10" (identifier "iVar32") (+ "+") (number_literal "-0x2d10")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" (else "else") (compound_statement "{\n    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();\n    param_1 = (code *)(uint)(byte)*param_4;\n    uVar50 = uVar49;\n    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;\nLAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);\n    if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }\n  }" ({ "{") (expression_statement "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();" (assignment_expression "uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" (identifier "uVar49") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))()" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x2d10)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x2d10" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x2d10")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1 = (code *)(uint)(byte)*param_4;" (assignment_expression "param_1 = (code *)(uint)(byte)*param_4" (identifier "param_1") (= "=") (binary_expression "(code *)(uint)(byte)*param_4" (cast_expression "(code *)(uint)(byte)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (identifier "param_4"))) (; ";")) (expression_statement "uVar50 = uVar49;" (assignment_expression "uVar50 = uVar49" (identifier "uVar50") (= "=") (identifier "uVar49")) (; ";")) (if_statement "if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;" (if "if") (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" (( "(") (binary_expression "param_1 == (code *)&DAT_00000031" (identifier "param_1") (== "==") (cast_expression "(code *)&DAT_00000031" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000031" (& "&") (identifier "DAT_00000031")))) () ")")) (goto_statement "goto LAB_000c4cac;" (goto "goto") (statement_identifier "LAB_000c4cac") (; ";"))) (labeled_statement "LAB_000c4b90:\n    iVar32 = *(int *)(puVar47 + 0x96c38);" (statement_identifier "LAB_000c4b90") (: ":") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";"))) (if_statement "if (param_1 == (code *)0x32) {\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }\n    else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)0x32)" (( "(") (binary_expression "param_1 == (code *)0x32" (identifier "param_1") (== "==") (cast_expression "(code *)0x32" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x32"))) () ")")) (compound_statement "{\n      *(undefined4 *)(pcVar43 + 0x20) = 0;\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined4 *)(pcVar43 + 0x24) = 0;\n    }" ({ "{") (expression_statement "*(undefined4 *)(pcVar43 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x20) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x20)" (( "(") (binary_expression "pcVar43 + 0x20" (identifier "pcVar43") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" (identifier "pcStack_1b0") (= "=") (cast_expression "(code *)(iVar32 + -0x2d10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x2d10)" (( "(") (binary_expression "iVar32 + -0x2d10" (identifier "iVar32") (+ "+") (number_literal "-0x2d10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x24) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x24)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x24)" (( "(") (binary_expression "pcVar43 + 0x24" (identifier "pcVar43") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" (else "else") (compound_statement "{\n      if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }\n      pcStack_1b0 = (code *)(iVar32 + -0x2d10);\n      *(undefined8 *)(pcVar43 + 0x20) = uVar50;\n    }" ({ "{") (if_statement "if (*(int *)(param_4 + 0x10) == 0) {\n        uVar50 = 0;\n      }\n      else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_4 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(param_4 + 0x10) == 0" (pointer_expression "*(int *)(param_4 + 0x10)" (* "*") (cast_expression "(int *)(param_4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar50 = 0;\n      }" ({ "{") (expression_statement "uVar50 = 0;" (assignment_expression "uVar50 = 0" (identifier "uVar50") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" (else "else") (compound_statement "{\n        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);\n      }" ({ "{") (expression_statement "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);" (assignment_expression "uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" (identifier "uVar50") (= "=") (call_expression "(*(code *)(iVar32 + -0x2d10))(pcStack_1b8)" (parenthesized_expression "(*(code *)(iVar32 + -0x2d10))" (( "(") (pointer_expression "*(code *)(iVar32 + -0x2d10)" (* "*") (cast_expression "(code *)(iVar32 + -0x2d10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x2d10)" (( "(") (binary_expression "iVar32 + -0x2d10" (identifier "iVar32") (+ "+") (number_literal "-0x2d10")) () ")")))) () ")")) (argument_list "(pcStack_1b8)" (( "(") (identifier "pcStack_1b8") () ")")))) (; ";")) (} "}")))) (expression_statement "pcStack_1b0 = (code *)(iVar32 + -0x2d10);" (assignment_expression "pcStack_1b0 = (code *)(iVar32 + -0x2d10)" (identifier "pcStack_1b0") (= "=") (cast_expression "(code *)(iVar32 + -0x2d10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x2d10)" (( "(") (binary_expression "iVar32 + -0x2d10" (identifier "iVar32") (+ "+") (number_literal "-0x2d10")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(pcVar43 + 0x20) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x20) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x20)" (* "*") (cast_expression "(undefined8 *)(pcVar43 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x20)" (( "(") (binary_expression "pcVar43 + 0x20" (identifier "pcVar43") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar50")) (; ";")) (} "}")))) (} "}")))) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" (identifier "pcVar42") (= "=") (cast_expression "(code *)uVar49" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar49"))) (; ";")) (expression_statement "*(undefined4 *)(pcVar38 + 0x1e8) = 0;" (assignment_expression "*(undefined4 *)(pcVar38 + 0x1e8) = 0" (pointer_expression "*(undefined4 *)(pcVar38 + 0x1e8)" (* "*") (cast_expression "(undefined4 *)(pcVar38 + 0x1e8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x1e8)" (( "(") (binary_expression "pcVar38 + 0x1e8" (identifier "pcVar38") (+ "+") (number_literal "0x1e8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);" (assignment_expression "uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4)" (identifier "uVar50") (= "=") (call_expression "(*pcStack_1b0)(pcStack_1b8,param_4)" (parenthesized_expression "(*pcStack_1b0)" (( "(") (pointer_expression "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) () ")")) (argument_list "(pcStack_1b8,param_4)" (( "(") (identifier "pcStack_1b8") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (*(int *)(pcVar38 + 0x1e8) != 0) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" (if "if") (parenthesized_expression "(*(int *)(pcVar38 + 0x1e8) != 0)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x1e8) != 0" (pointer_expression "*(int *)(pcVar38 + 0x1e8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x1e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x1e8)" (( "(") (binary_expression "pcVar38 + 0x1e8" (identifier "pcVar38") (+ "+") (number_literal "0x1e8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;\n  }" ({ "{") (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar43 + 10) | 0x1000" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x1000"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(param_4 + 4) & 1) == 0) {\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }\n  else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(param_4 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" (( "(") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uStack_198 = 0;\n    uStack_194 = 0;\n  }" ({ "{") (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" (identifier "uStack_198") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" (identifier "uStack_194") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }\n    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }\n    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;\n    uVar21 = (uint)uVar50 | uVar13;\n    uVar50 = CONCAT44(uVar34,uVar21);\n    pcVar31 = (code *)(uVar34 << 0x1f);\n    if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }\n  }" ({ "{") (if_statement "if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" (if "if") (parenthesized_expression "((int)*(uint *)(pcVar38 + 0x1ec) < 1)" (( "(") (binary_expression "(int)*(uint *)(pcVar38 + 0x1ec) < 1" (cast_expression "(int)*(uint *)(pcVar38 + 0x1ec)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" (* "*") (cast_expression "(uint *)(pcVar38 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x1ec)" (( "(") (binary_expression "pcVar38 + 0x1ec" (identifier "pcVar38") (+ "+") (number_literal "0x1ec")) () ")"))))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);\nLAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);\n      uVar53 = uVar50;\n      uVar50 = CONCAT44(pcStack_190,pcStack_18c);\n      goto LAB_000c4c58;\n    }" ({ "{") (labeled_statement "LAB_000c4c3c:\n      iVar32 = *(int *)(puVar47 + 0x96b34);" (statement_identifier "LAB_000c4c3c") (: ":") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96b34)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b34)" (( "(") (binary_expression "puVar47 + 0x96b34" (identifier "puVar47") (+ "+") (number_literal "0x96b34")) () ")"))))) (; ";"))) (labeled_statement "LAB_000c4c40:\n      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" (statement_identifier "LAB_000c4c40") (: ":") (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x1104)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x1104" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x1104")) () ")")))) () ")")) (argument_list "(pcVar17,iVar32 + -0x6e04)" (( "(") (identifier "pcVar17") (, ",") (binary_expression "iVar32 + -0x6e04" (identifier "iVar32") (+ "+") (number_literal "-0x6e04")) () ")"))) (; ";"))) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" (identifier "uVar53") (= "=") (identifier "uVar50")) (; ";")) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(pcStack_190,pcStack_18c)" (identifier "CONCAT44") (argument_list "(pcStack_190,pcStack_18c)" (( "(") (identifier "pcStack_190") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";")) (} "}"))) (if_statement "if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }\n    else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" (if "if") (parenthesized_expression "((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0))" (( "(") (binary_expression "(int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)" (cast_expression "(int)*(short *)(param_4 + 0x26)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(param_4 + 0x26)" (* "*") (cast_expression "(short *)(param_4 + 0x26)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (== "==") (pointer_expression "*(int *)(pcVar38 + 0x1f0)" (* "*") (cast_expression "(int *)(pcVar38 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x1f0)" (( "(") (binary_expression "pcVar38 + 0x1f0" (identifier "pcVar38") (+ "+") (number_literal "0x1f0")) () ")"))))) () ")")) (compound_statement "{\n      uVar18 = 0;\n      uStack_198 = 0;\n      uVar13 = 1;\n      uStack_194 = 0;\n    }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_198 = 0;" (assignment_expression "uStack_198 = 0" (identifier "uStack_198") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" (identifier "uVar13") (= "=") (number_literal "1")) (; ";")) (expression_statement "uStack_194 = 0;" (assignment_expression "uStack_194 = 0" (identifier "uStack_194") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" (else "else") (compound_statement "{\n      uVar18 = 0;\n      pcVar46 = pcVar38 + 500;\n      do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);\n      uVar13 = 1 << (uVar18 & 0x1f);\n      if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }\n      uStack_194 = uVar13 - 1;\n      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);\n    }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar46 = pcVar38 + 500;" (assignment_expression "pcVar46 = pcVar38 + 500" (identifier "pcVar46") (= "=") (binary_expression "pcVar38 + 500" (identifier "pcVar38") (+ "+") (number_literal "500"))) (; ";")) (do_statement "do {\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      } while (*(short *)(param_4 + 0x26) != iVar32);" (do "do") (compound_statement "{\n        uVar18 = uVar18 + 1;\n        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;\n        iVar32 = *(int *)pcVar46;\n        pcVar46 = pcVar46 + 4;\n      }" ({ "{") (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;" (if "if") (parenthesized_expression "(uVar18 == *(uint *)(pcVar38 + 0x1ec))" (( "(") (binary_expression "uVar18 == *(uint *)(pcVar38 + 0x1ec)" (identifier "uVar18") (== "==") (pointer_expression "*(uint *)(pcVar38 + 0x1ec)" (* "*") (cast_expression "(uint *)(pcVar38 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x1ec)" (( "(") (binary_expression "pcVar38 + 0x1ec" (identifier "pcVar38") (+ "+") (number_literal "0x1ec")) () ")"))))) () ")")) (goto_statement "goto LAB_000c4c3c;" (goto "goto") (statement_identifier "LAB_000c4c3c") (; ";"))) (expression_statement "iVar32 = *(int *)pcVar46;" (assignment_expression "iVar32 = *(int *)pcVar46" (identifier "iVar32") (= "=") (pointer_expression "*(int *)pcVar46" (* "*") (cast_expression "(int *)pcVar46" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar46")))) (; ";")) (expression_statement "pcVar46 = pcVar46 + 4;" (assignment_expression "pcVar46 = pcVar46 + 4" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + 4" (identifier "pcVar46") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(short *)(param_4 + 0x26) != iVar32)" (( "(") (binary_expression "*(short *)(param_4 + 0x26) != iVar32" (pointer_expression "*(short *)(param_4 + 0x26)" (* "*") (cast_expression "(short *)(param_4 + 0x26)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")")))) (!= "!=") (identifier "iVar32")) () ")")) (; ";")) (expression_statement "uVar13 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar13 = 1 << (uVar18 & 0x1f)" (identifier "uVar13") (= "=") (binary_expression "1 << (uVar18 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((uVar18 & 0x20) == 0) {\n        uVar18 = 0;\n      }\n      else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" (if "if") (parenthesized_expression "((uVar18 & 0x20) == 0)" (( "(") (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" (( "(") (binary_expression "uVar18 & 0x20" (identifier "uVar18") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar18 = 0;\n      }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" (else "else") (compound_statement "{\n        uVar18 = uVar13;\n        uVar13 = 0;\n      }" ({ "{") (expression_statement "uVar18 = uVar13;" (assignment_expression "uVar18 = uVar13" (identifier "uVar18") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uStack_194 = uVar13 - 1;" (assignment_expression "uStack_194 = uVar13 - 1" (identifier "uStack_194") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);" (assignment_expression "uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1)" (identifier "uStack_198") (= "=") (binary_expression "(uint)(uStack_194 < uVar13) + (uVar18 - 1)" (call_expression "(uint)(uStack_194 < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uStack_194 < uVar13)" (( "(") (binary_expression "uStack_194 < uVar13" (identifier "uStack_194") (< "<") (identifier "uVar13")) () ")"))) (+ "+") (parenthesized_expression "(uVar18 - 1)" (( "(") (binary_expression "uVar18 - 1" (identifier "uVar18") (- "-") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (expression_statement "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;" (assignment_expression "uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18" (identifier "uVar34") (= "=") (binary_expression "(uint)((ulonglong)uVar50 >> 0x20) | uVar18" (call_expression "(uint)((ulonglong)uVar50 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar50 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar50")) (>> ">>") (number_literal "0x20")) () ")"))) (| "|") (identifier "uVar18"))) (; ";")) (expression_statement "uVar21 = (uint)uVar50 | uVar13;" (assignment_expression "uVar21 = (uint)uVar50 | uVar13" (identifier "uVar21") (= "=") (binary_expression "(uint)uVar50 | uVar13" (cast_expression "(uint)uVar50" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar50")) (| "|") (identifier "uVar13"))) (; ";")) (expression_statement "uVar50 = CONCAT44(uVar34,uVar21);" (assignment_expression "uVar50 = CONCAT44(uVar34,uVar21)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(uVar34,uVar21)" (identifier "CONCAT44") (argument_list "(uVar34,uVar21)" (( "(") (identifier "uVar34") (, ",") (identifier "uVar21") () ")")))) (; ";")) (expression_statement "pcVar31 = (code *)(uVar34 << 0x1f);" (assignment_expression "pcVar31 = (code *)(uVar34 << 0x1f)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(uVar34 << 0x1f)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar34 << 0x1f)" (( "(") (binary_expression "uVar34 << 0x1f" (identifier "uVar34") (<< "<<") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar18 <= uVar34 >> 1) {\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" (if "if") (parenthesized_expression "(uVar18 <= uVar34 >> 1)" (( "(") (binary_expression "uVar18 <= uVar34 >> 1" (identifier "uVar18") (<= "<=") (binary_expression "uVar34 >> 1" (identifier "uVar34") (>> ">>") (number_literal "1"))) () ")")) (compound_statement "{\n      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;\n      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }\n    }" ({ "{") (if_statement "if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;" (if "if") (parenthesized_expression "(uVar18 != uVar34 >> 1)" (( "(") (binary_expression "uVar18 != uVar34 >> 1" (identifier "uVar18") (!= "!=") (binary_expression "uVar34 >> 1" (identifier "uVar34") (>> ">>") (number_literal "1"))) () ")")) (goto_statement "goto LAB_000c4c3c;" (goto "goto") (statement_identifier "LAB_000c4c3c") (; ";"))) (if_statement "if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" (if "if") (parenthesized_expression "(uVar13 <= ((uint)pcVar31 | uVar21 >> 1))" (( "(") (binary_expression "uVar13 <= ((uint)pcVar31 | uVar21 >> 1)" (identifier "uVar13") (<= "<=") (parenthesized_expression "((uint)pcVar31 | uVar21 >> 1)" (( "(") (binary_expression "(uint)pcVar31 | uVar21 >> 1" (cast_expression "(uint)pcVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar31")) (| "|") (binary_expression "uVar21 >> 1" (identifier "uVar21") (>> ">>") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n        iVar32 = *(int *)(puVar47 + 0x96b34);\n        goto LAB_000c4c40;\n      }" ({ "{") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96b34)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b34)" (( "(") (binary_expression "puVar47 + 0x96b34" (identifier "puVar47") (+ "+") (number_literal "0x96b34")) () ")"))))) (; ";")) (goto_statement "goto LAB_000c4c40;" (goto "goto") (statement_identifier "LAB_000c4c40") (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar50 >> 0x20)" (identifier "pcVar37") (= "=") (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar50")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar48 = (code *)uVar50;" (assignment_expression "pcVar48 = (code *)uVar50" (identifier "pcVar48") (= "=") (cast_expression "(code *)uVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar50"))) (; ";")) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" (* "*") (cast_expression "(undefined8 *)(pcVar43 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x28)" (( "(") (binary_expression "pcVar43 + 0x28" (identifier "pcVar43") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar50")) (; ";")) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcVar43 + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x10)" (( "(") (binary_expression "pcVar43 + 0x10" (identifier "pcVar43") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pcVar46 = pcVar43;" (assignment_expression "pcVar46 = pcVar43" (identifier "pcVar46") (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" (identifier "uVar53") (= "=") (identifier "uVar50")) (; ";")) (if_statement "if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" (if "if") (parenthesized_expression "((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)))" (( "(") (binary_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||\n     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" (parenthesized_expression "(0xc < ((uint)(param_1 + -0x2d) & 0xff))" (( "(") (binary_expression "0xc < ((uint)(param_1 + -0x2d) & 0xff)" (number_literal "0xc") (< "<") (parenthesized_expression "((uint)(param_1 + -0x2d) & 0xff)" (( "(") (binary_expression "(uint)(param_1 + -0x2d) & 0xff" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + -0x2d)" (( "(") (binary_expression "param_1 + -0x2d" (identifier "param_1") (+ "+") (number_literal "-0x2d")) () ")"))) (& "&") (number_literal "0xff")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))" (( "(") (binary_expression "-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" (number_literal "-1") (< "<") (cast_expression "(int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f" (parenthesized_expression "(0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f))" (( "(") (binary_expression "0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)" (number_literal "0x1f31U") (>> ">>") (parenthesized_expression "((uint)(param_1 + -0x2d) & 0x1f)" (( "(") (binary_expression "(uint)(param_1 + -0x2d) & 0x1f" (call_expression "(uint)(param_1 + -0x2d)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + -0x2d)" (( "(") (binary_expression "param_1 + -0x2d" (identifier "param_1") (+ "+") (number_literal "-0x2d")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")")))) () ")"))) () ")")) (compound_statement "{\n    if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }\n    goto LAB_000c4d78;\n  }" ({ "{") (if_statement "if (*param_4 == (code)0x30) {\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }\n    else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" (if "if") (parenthesized_expression "(*param_4 == (code)0x30)" (( "(") (binary_expression "*param_4 == (code)0x30" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (== "==") (cast_expression "(code)0x30" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x30"))) () ")")) (compound_statement "{\n      iVar32 = *(int *)(puVar47 + 0x96dac);\n      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n      uVar8 = 0x39;\n      bVar45 = false;\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      iVar29 = *(int *)(puVar47 + 0x96c78);\n      iVar19 = *(int *)(puVar47 + 0x96c38);\n      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);\n      while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }\n      param_1 = (code *)0x1;\n      pcVar38 = (code *)(iVar39 + -0x73f4);\n      pcVar46 = pcStack_19c + iVar33;\n      pcStack_190 = (code *)(iVar32 + 0x4ac8);\n      uVar53 = CONCAT44(pcVar37,iVar33);\n    }" ({ "{") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96dac)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")"))))) (; ";")) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" (if "if") (parenthesized_expression "(pcVar22[8] != (code)0x2c)" (( "(") (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]")) (!= "!=") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) () ")")) (goto_statement "goto LAB_000c4d88;" (goto "goto") (statement_identifier "LAB_000c4d88") (; ";"))) (expression_statement "uVar8 = 0x39;" (assignment_expression "uVar8 = 0x39" (identifier "uVar8") (= "=") (number_literal "0x39")) (; ";")) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c78)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);" (assignment_expression "puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)(*(int *)(param_4 + 0x14) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_4 + 0x14) + 4)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) + 4" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (while_statement "while( true ) {\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        param_5 = *(code **)(param_4 + 0xc);\n        if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }\n        pcVar31 = (code *)*puVar20;\n        if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }\n        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);\n        if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }\n        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);\n        puVar20 = puVar20 + 5;\n        uVar49 = CONCAT44(pcStack_1a4,puVar20);\n        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);\n        iVar33 = *(int *)(pcVar22 + 0x14);\n        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;\n        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n        uVar8 = 0x37;\n        if (bVar45) break;\n        bVar45 = true;\n      }" ({ "{") (expression_statement "param_5 = *(code **)(param_4 + 0xc);" (assignment_expression "param_5 = *(code **)(param_4 + 0xc)" (identifier "param_5") (= "=") (pointer_expression "*(code **)(param_4 + 0xc)" (* "*") (cast_expression "(code **)(param_4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (param_5 != (code *)0x0) {\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" (if "if") (parenthesized_expression "(param_5 != (code *)0x0)" (( "(") (binary_expression "param_5 != (code *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);\n        }" ({ "{") (expression_statement "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);" (assignment_expression "param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" (identifier "param_5") (= "=") (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" (( "(") (pointer_expression "*(code *)(iVar19 + -0x271c)" (* "*") (cast_expression "(code *)(iVar19 + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + -0x271c)" (( "(") (binary_expression "iVar19 + -0x271c" (identifier "iVar19") (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,param_5,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "param_5") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" (identifier "pcVar31") (= "=") (cast_expression "(code *)*puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")))) (; ";")) (if_statement "if (pcVar31 != (code *)0x0) {\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" (if "if") (parenthesized_expression "(pcVar31 != (code *)0x0)" (( "(") (binary_expression "pcVar31 != (code *)0x0" (identifier "pcVar31") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);\n        }" ({ "{") (expression_statement "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0)" (parenthesized_expression "(*(code *)(iVar19 + -0x271c))" (( "(") (pointer_expression "*(code *)(iVar19 + -0x271c)" (* "*") (cast_expression "(code *)(iVar19 + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + -0x271c)" (( "(") (binary_expression "iVar19 + -0x271c" (identifier "iVar19") (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,pcVar31,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "pcVar31") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);" (assignment_expression "iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" (identifier "iVar10") (= "=") (call_expression "(*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5)" (parenthesized_expression "(*(code *)(iVar29 + 0x26b4))" (( "(") (pointer_expression "*(code *)(iVar29 + 0x26b4)" (* "*") (cast_expression "(code *)(iVar29 + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x26b4)" (( "(") (binary_expression "iVar29 + 0x26b4" (identifier "iVar29") (+ "+") (number_literal "0x26b4")) () ")")))) () ")")) (argument_list "(pcVar17,uVar8,param_5)" (( "(") (identifier "pcVar17") (, ",") (identifier "uVar8") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (iVar10 != 0) {\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;\n          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n        }" ({ "{") (expression_statement "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" (* "*") (cast_expression "(uint *)(iVar10 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar10 + 4)" (* "*") (cast_expression "(uint *)(iVar10 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar10 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar10 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x26)" (( "(") (binary_expression "iVar10 + 0x26" (identifier "iVar10") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(param_4 + 0x26)" (* "*") (cast_expression "(undefined2 *)(param_4 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);" (assignment_expression "iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" (identifier "iVar10") (= "=") (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x73f4)" (* "*") (cast_expression "(code *)(iVar39 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x73f4)" (( "(") (binary_expression "iVar39 + -0x73f4" (identifier "iVar39") (+ "+") (number_literal "-0x73f4")) () ")")))) () ")")) (argument_list "(pcVar22,iVar10,3)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar10") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "puVar20 = puVar20 + 5;" (assignment_expression "puVar20 = puVar20 + 5" (identifier "puVar20") (= "=") (binary_expression "puVar20 + 5" (identifier "puVar20") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,puVar20);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,puVar20)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,puVar20)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,puVar20)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "puVar20") () ")")))) (; ";")) (expression_statement "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);" (call_expression "(*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10)" (parenthesized_expression "(*(code *)(iVar32 + 0x4ac8))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x4ac8)" (* "*") (cast_expression "(code *)(iVar32 + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x4ac8)" (( "(") (binary_expression "iVar32 + 0x4ac8" (identifier "iVar32") (+ "+") (number_literal "0x4ac8")) () ")")))) () ")")) (argument_list "(pcVar26,pcVar22,iVar10)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "iVar33 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar33 = *(int *)(pcVar22 + 0x14)" (identifier "iVar33") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(iVar33 + iVar10 * 0x30 + 0x10)" (* "*") (cast_expression "(code **)(iVar33 + iVar10 * 0x30 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar33 + iVar10 * 0x30 + 0x10)" (( "(") (binary_expression "iVar33 + iVar10 * 0x30 + 0x10" (binary_expression "iVar33 + iVar10 * 0x30" (identifier "iVar33") (+ "+") (binary_expression "iVar10 * 0x30" (identifier "iVar10") (* "*") (number_literal "0x30"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =\n             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" (* "*") (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar10 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar10 * 0x30" (identifier "iVar10") (* "*") (number_literal "0x30"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar8 = 0x37;" (assignment_expression "uVar8 = 0x37" (identifier "uVar8") (= "=") (number_literal "0x37")) (; ";")) (if_statement "if (bVar45) break;" (if "if") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" (identifier "bVar45") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "param_1 = (code *)0x1;" (assignment_expression "param_1 = (code *)0x1" (identifier "param_1") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar38 = (code *)(iVar39 + -0x73f4);" (assignment_expression "pcVar38 = (code *)(iVar39 + -0x73f4)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(iVar39 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x73f4)" (( "(") (binary_expression "iVar39 + -0x73f4" (identifier "iVar39") (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (expression_statement "pcVar46 = pcStack_19c + iVar33;" (assignment_expression "pcVar46 = pcStack_19c + iVar33" (identifier "pcVar46") (= "=") (binary_expression "pcStack_19c + iVar33" (identifier "pcStack_19c") (+ "+") (identifier "iVar33"))) (; ";")) (expression_statement "pcStack_190 = (code *)(iVar32 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar32 + 0x4ac8)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)(iVar32 + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x4ac8)" (( "(") (binary_expression "iVar32 + 0x4ac8" (identifier "iVar32") (+ "+") (number_literal "0x4ac8")) () ")")))) (; ";")) (expression_statement "uVar53 = CONCAT44(pcVar37,iVar33);" (assignment_expression "uVar53 = CONCAT44(pcVar37,iVar33)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar37,iVar33)" (identifier "CONCAT44") (argument_list "(pcVar37,iVar33)" (( "(") (identifier "pcVar37") (, ",") (identifier "iVar33") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" (else "else") (compound_statement "{\n      pcVar31 = (code *)0x1a0;\n      if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }\n    }" ({ "{") (expression_statement "pcVar31 = (code *)0x1a0;" (assignment_expression "pcVar31 = (code *)0x1a0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x1a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1a0"))) (; ";")) (if_statement "if (*param_4 == (code)0x2b) {\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" (if "if") (parenthesized_expression "(*param_4 == (code)0x2b)" (( "(") (binary_expression "*param_4 == (code)0x2b" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (== "==") (cast_expression "(code)0x2b" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2b"))) () ")")) (compound_statement "{\n        pcStack_1a4 = *(code **)pcVar22;\n        puStack_180 = *(undefined4 **)pcStack_1a4;\n        param_1 = (code *)*puStack_180;\n        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);\n        iStack_178 = *(int *)pcStack_18c;\n        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);\n        *(code **)(pcStack_18c + 0x1c) = pcVar43;\n        pcVar27 = pcStack_18c;\n        pcVar42 = pcStack_1a4;\n        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;\n        pcVar42 = *(code **)(puVar47 + 0x96eec);\n        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;\n        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);\n        *(code **)pcVar43 = pcStack_1a4;\n        pcVar43[9] = (code)0x0;\n        *(undefined4 *)(pcVar43 + 4) = 0;\n        iVar32 = *(int *)(puVar47 + 0x96c38);\n        *(undefined4 *)(pcVar43 + 0xc) = 0;\n        *(undefined4 *)(pcVar43 + 0x14) = uVar8;\n        pcStack_174 = (code *)(iVar32 + -0x70f0);\n        *(undefined4 *)(pcVar43 + 0x10) = 8;\n        (*pcStack_174)(pcVar43,iStack_178,0x2b);\n        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);\n        if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }\n        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;\n        uVar13 = 0xffffffff;\n        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar22[9] = (code)0x1;\n        iVar32 = *(int *)(pcVar43 + 0xc);\n        param_5 = (code *)0xffffffff;\n        pcVar27 = pcVar43;\n        pcStack_17c = param_1;\n        if (iVar32 != 2) goto LAB_000c5b7c;\n        goto LAB_000c6e58;\n      }" ({ "{") (expression_statement "pcStack_1a4 = *(code **)pcVar22;" (assignment_expression "pcStack_1a4 = *(code **)pcVar22" (identifier "pcStack_1a4") (= "=") (pointer_expression "*(code **)pcVar22" (* "*") (cast_expression "(code **)pcVar22" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "puStack_180 = *(undefined4 **)pcStack_1a4;" (assignment_expression "puStack_180 = *(undefined4 **)pcStack_1a4" (identifier "puStack_180") (= "=") (pointer_expression "*(undefined4 **)pcStack_1a4" (* "*") (cast_expression "(undefined4 **)pcStack_1a4" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcStack_1a4")))) (; ";")) (expression_statement "param_1 = (code *)*puStack_180;" (assignment_expression "param_1 = (code *)*puStack_180" (identifier "param_1") (= "=") (cast_expression "(code *)*puStack_180" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puStack_180" (* "*") (identifier "puStack_180")))) (; ";")) (expression_statement "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_18c") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "iStack_178 = *(int *)pcStack_18c;" (assignment_expression "iStack_178 = *(int *)pcStack_18c" (identifier "iStack_178") (= "=") (pointer_expression "*(int *)pcStack_18c" (* "*") (cast_expression "(int *)pcStack_18c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_18c")))) (; ";")) (expression_statement "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);" (assignment_expression "pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" (identifier "pcVar43") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2a40)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2a40" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x2a40")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "*(code **)(pcStack_18c + 0x1c) = pcVar43;" (assignment_expression "*(code **)(pcStack_18c + 0x1c) = pcVar43" (pointer_expression "*(code **)(pcStack_18c + 0x1c)" (* "*") (cast_expression "(code **)(pcStack_18c + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_18c + 0x1c)" (( "(") (binary_expression "pcStack_18c + 0x1c" (identifier "pcStack_18c") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" (identifier "pcVar27") (= "=") (identifier "pcStack_18c")) (; ";")) (expression_statement "pcVar42 = pcStack_1a4;" (assignment_expression "pcVar42 = pcStack_1a4" (identifier "pcVar42") (= "=") (identifier "pcStack_1a4")) (; ";")) (if_statement "if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;" (if "if") (parenthesized_expression "(pcVar43 == (code *)0x0)" (( "(") (binary_expression "pcVar43 == (code *)0x0" (identifier "pcVar43") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";"))) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96eec)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(puVar47 + 0x96eec)" (* "*") (cast_expression "(code **)(puVar47 + 0x96eec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96eec)" (( "(") (binary_expression "puVar47 + 0x96eec" (identifier "puVar47") (+ "+") (number_literal "0x96eec")) () ")"))))) (; ";")) (expression_statement "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;" (assignment_expression "*(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" (* "*") (cast_expression "(ushort *)(pcStack_18c + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_18c + 10)" (( "(") (binary_expression "pcStack_18c + 10" (identifier "pcStack_18c") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcStack_18c + 10) | 0x10" (pointer_expression "*(ushort *)(pcStack_18c + 10)" (* "*") (cast_expression "(ushort *)(pcStack_18c + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_18c + 10)" (( "(") (binary_expression "pcStack_18c + 10" (identifier "pcStack_18c") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x10"))) (; ";")) (expression_statement "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);" (assignment_expression "uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180)" (identifier "uVar8") (= "=") (call_expression "(*pcVar42)(pcVar43 + 0x18,0,0x180)" (parenthesized_expression "(*pcVar42)" (( "(") (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) () ")")) (argument_list "(pcVar43 + 0x18,0,0x180)" (( "(") (binary_expression "pcVar43 + 0x18" (identifier "pcVar43") (+ "+") (number_literal "0x18")) (, ",") (number_literal "0") (, ",") (number_literal "0x180") () ")")))) (; ";")) (expression_statement "*(code **)pcVar43 = pcStack_1a4;" (assignment_expression "*(code **)pcVar43 = pcStack_1a4" (pointer_expression "*(code **)pcVar43" (* "*") (cast_expression "(code **)pcVar43" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar43"))) (= "=") (identifier "pcStack_1a4")) (; ";")) (expression_statement "pcVar43[9] = (code)0x0;" (assignment_expression "pcVar43[9] = (code)0x0" (subscript_expression "pcVar43[9]" (identifier "pcVar43") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 4) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 4) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 4)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 4)" (( "(") (binary_expression "pcVar43 + 4" (identifier "pcVar43") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uVar8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uVar8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "pcStack_174 = (code *)(iVar32 + -0x70f0);" (assignment_expression "pcStack_174 = (code *)(iVar32 + -0x70f0)" (identifier "pcStack_174") (= "=") (cast_expression "(code *)(iVar32 + -0x70f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x70f0)" (( "(") (binary_expression "iVar32 + -0x70f0" (identifier "iVar32") (+ "+") (number_literal "-0x70f0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x10) = 8;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x10) = 8" (pointer_expression "*(undefined4 *)(pcVar43 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x10)" (( "(") (binary_expression "pcVar43 + 0x10" (identifier "pcVar43") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "(*pcStack_174)(pcVar43,iStack_178,0x2b);" (call_expression "(*pcStack_174)(pcVar43,iStack_178,0x2b)" (parenthesized_expression "(*pcStack_174)" (( "(") (pointer_expression "*pcStack_174" (* "*") (identifier "pcStack_174")) () ")")) (argument_list "(pcVar43,iStack_178,0x2b)" (( "(") (identifier "pcVar43") (, ",") (identifier "iStack_178") (, ",") (number_literal "0x2b") () ")"))) (; ";")) (expression_statement "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);" (assignment_expression "pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1)" (identifier "pcVar42") (= "=") (cast_expression "(code *)(*(int *)(pcVar43 + 0xc) + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar43 + 0xc) + -1)" (( "(") (binary_expression "*(int *)(pcVar43 + 0xc) + -1" (pointer_expression "*(int *)(pcVar43 + 0xc)" (* "*") (cast_expression "(int *)(pcVar43 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if ((int)pcVar42 < 0) {\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }\n        else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" (if "if") (parenthesized_expression "((int)pcVar42 < 0)" (( "(") (binary_expression "(int)pcVar42 < 0" (cast_expression "(int)pcVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar42")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar38 = pcStack_18c;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n        }" ({ "{") (expression_statement "pcVar38 = pcStack_18c;" (assignment_expression "pcVar38 = pcStack_18c" (identifier "pcVar38") (= "=") (identifier "pcStack_18c")) (; ";")) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" (if "if") (parenthesized_expression "(param_1[0x51] != (code)0x0)" (( "(") (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" (identifier "param_1") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";"))) (} "}")) (else_clause "else {\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" (else "else") (compound_statement "{\n          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          uVar50 = CONCAT44(param_5,pcStack_18c);\n          do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);\n          pcVar42 = (code *)0xffffffff;\n          pcVar27 = (code *)0xffffffff;\n          pcStack_190 = param_5;\n          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;\n          in_t2 = *(code **)(pcVar43 + 0xc);\n          pcVar42 = in_t2 + -1;\n          pcVar46 = *(code **)(pcVar43 + 0x14);\n          pcVar38 = (code *)0xffffffff;\n          if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }\n        }" ({ "{") (expression_statement "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (identifier "param_5") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")")))) (+ "+") (number_literal "0x4ac8")) () ")")))) (; ";")) (expression_statement "uVar50 = CONCAT44(param_5,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_5,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(param_5,pcStack_18c)" (identifier "CONCAT44") (argument_list "(param_5,pcStack_18c)" (( "(") (identifier "param_5") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (do_statement "do {\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          } while (pcVar27 != (code *)0xffffffff);" (do "do") (compound_statement "{\n            pcVar27 = pcVar42 + -1;\n            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);\n            pcVar42 = pcVar27;\n          }" ({ "{") (expression_statement "pcVar27 = pcVar42 + -1;" (assignment_expression "pcVar27 = pcVar42 + -1" (identifier "pcVar27") (= "=") (binary_expression "pcVar42 + -1" (identifier "pcVar42") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_000c4ac8(pcVar26,pcVar43,pcVar42);" (call_expression "FUN_000c4ac8(pcVar26,pcVar43,pcVar42)" (identifier "FUN_000c4ac8") (argument_list "(pcVar26,pcVar43,pcVar42)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar43") (, ",") (identifier "pcVar42") () ")"))) (; ";")) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" (identifier "pcVar42") (= "=") (identifier "pcVar27")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar27 != (code *)0xffffffff)" (( "(") (binary_expression "pcVar27 != (code *)0xffffffff" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (; ";")) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" (identifier "pcVar42") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" (identifier "pcVar27") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcStack_190 = param_5;" (assignment_expression "pcStack_190 = param_5" (identifier "pcStack_190") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;" (if "if") (parenthesized_expression "(param_1[0x51] != (code)0x0)" (( "(") (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" (identifier "param_1") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";"))) (expression_statement "in_t2 = *(code **)(pcVar43 + 0xc);" (assignment_expression "in_t2 = *(code **)(pcVar43 + 0xc)" (identifier "in_t2") (= "=") (pointer_expression "*(code **)(pcVar43 + 0xc)" (* "*") (cast_expression "(code **)(pcVar43 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pcVar42 = in_t2 + -1;" (assignment_expression "pcVar42 = in_t2 + -1" (identifier "pcVar42") (= "=") (binary_expression "in_t2 + -1" (identifier "in_t2") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pcVar46 = *(code **)(pcVar43 + 0x14);" (assignment_expression "pcVar46 = *(code **)(pcVar43 + 0x14)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(pcVar43 + 0x14)" (* "*") (cast_expression "(code **)(pcVar43 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" (identifier "pcVar38") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (-1 < (int)pcVar42) {\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" (if "if") (parenthesized_expression "(-1 < (int)pcVar42)" (( "(") (binary_expression "-1 < (int)pcVar42" (number_literal "-1") (< "<") (cast_expression "(int)pcVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar42"))) () ")")) (compound_statement "{\n            uVar13 = 0xffffffff;\n            pcStack_188 = (code *)0xffffffff;\n            param_5 = (code *)0xffffffff;\n            pcStack_184 = (code *)0xffffffff;\n            pcVar38 = (code *)0xffffffff;\n            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);\n            goto LAB_000c5ae4;\n          }" ({ "{") (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" (identifier "uVar13") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pcStack_188 = (code *)0xffffffff;" (assignment_expression "pcStack_188 = (code *)0xffffffff" (identifier "pcStack_188") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" (identifier "param_5") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcStack_184 = (code *)0xffffffff;" (assignment_expression "pcStack_184 = (code *)0xffffffff" (identifier "pcStack_184") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar38 = (code *)0xffffffff;" (assignment_expression "pcVar38 = (code *)0xffffffff" (identifier "pcVar38") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" (identifier "pcStack_17c") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x2b10)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x2b10" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x2b10")) () ")")))) (; ";")) (goto_statement "goto LAB_000c5ae4;" (goto "goto") (statement_identifier "LAB_000c5ae4") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x19c)" (( "(") (binary_expression "pcVar43 + 0x19c" (identifier "pcVar43") (+ "+") (number_literal "0x19c")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" (identifier "uVar13") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0xffffffff" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x198)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x198)" (( "(") (binary_expression "pcVar43 + 0x198" (identifier "pcVar43") (+ "+") (number_literal "0x198")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_18c + 0xc)" (( "(") (binary_expression "pcStack_18c + 0xc" (identifier "pcStack_18c") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x200")) (; ";")) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" (identifier "pcVar22") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar43 + 0xc)" (* "*") (cast_expression "(int *)(pcVar43 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "param_5 = (code *)0xffffffff;" (assignment_expression "param_5 = (code *)0xffffffff" (identifier "param_5") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" (identifier "pcVar27") (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" (identifier "pcStack_17c") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (iVar32 != 2) goto LAB_000c5b7c;" (if "if") (parenthesized_expression "(iVar32 != 2)" (( "(") (binary_expression "iVar32 != 2" (identifier "iVar32") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_000c5b7c;" (goto "goto") (statement_identifier "LAB_000c5b7c") (; ";"))) (goto_statement "goto LAB_000c6e58;" (goto "goto") (statement_identifier "LAB_000c6e58") (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_000c4d78;" (goto "goto") (statement_identifier "LAB_000c4d78") (; ";")) (} "}"))) (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_4 + 0xc)" (* "*") (cast_expression "(int *)(param_4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar32 != 0) {\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = *(uint *)(iVar32 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }\n  }" ({ "{") (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" (while "while") (parenthesized_expression "((uVar13 & 0x1000) != 0)" (( "(") (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" (( "(") (binary_expression "uVar13 & 0x1000" (identifier "uVar13") (& "&") (number_literal "0x1000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }\n      if (iVar32 == 0) break;\n      uVar13 = *(uint *)(iVar32 + 4);\n    }" ({ "{") (if_statement "if ((uVar13 & 0x40000) == 0) {\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }\n      else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" (if "if") (parenthesized_expression "((uVar13 & 0x40000) == 0)" (( "(") (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" (( "(") (binary_expression "uVar13 & 0x40000" (identifier "uVar13") (& "&") (number_literal "0x40000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar32 = *(int *)(iVar32 + 0xc);\n      }" ({ "{") (expression_statement "iVar32 = *(int *)(iVar32 + 0xc);" (assignment_expression "iVar32 = *(int *)(iVar32 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(iVar32 + 0xc)" (* "*") (cast_expression "(int *)(iVar32 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0xc)" (( "(") (binary_expression "iVar32 + 0xc" (identifier "iVar32") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" (else "else") (compound_statement "{\n        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);\n      }" ({ "{") (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar32 + 0x14) + 4)" (( "(") (binary_expression "*(int *)(iVar32 + 0x14) + 4" (pointer_expression "*(int *)(iVar32 + 0x14)" (* "*") (cast_expression "(int *)(iVar32 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x14)" (( "(") (binary_expression "iVar32 + 0x14" (identifier "iVar32") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar32 == 0) break;" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar13 = *(uint *)(iVar32 + 4);" (assignment_expression "uVar13 = *(uint *)(iVar32 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "param_5 = *(code **)(param_4 + 0x10);" (assignment_expression "param_5 = *(code **)(param_4 + 0x10)" (identifier "param_5") (= "=") (pointer_expression "*(code **)(param_4 + 0x10)" (* "*") (cast_expression "(code **)(param_4 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (param_5 != (code *)0x0) {\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" (if "if") (parenthesized_expression "(param_5 != (code *)0x0)" (( "(") (binary_expression "param_5 != (code *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar13 = *(uint *)(param_5 + 4);\n    while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }\n  }" ({ "{") (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(param_5 + 4)" (* "*") (cast_expression "(uint *)(param_5 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (while_statement "while ((uVar13 & 0x1000) != 0) {\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" (while "while") (parenthesized_expression "((uVar13 & 0x1000) != 0)" (( "(") (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" (( "(") (binary_expression "uVar13 & 0x1000" (identifier "uVar13") (& "&") (number_literal "0x1000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }\n      if (param_5 == (code *)0x0) break;\n      uVar13 = *(uint *)(param_5 + 4);\n    }" ({ "{") (if_statement "if ((uVar13 & 0x40000) == 0) {\n        param_5 = *(code **)(param_5 + 0xc);\n      }\n      else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" (if "if") (parenthesized_expression "((uVar13 & 0x40000) == 0)" (( "(") (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" (( "(") (binary_expression "uVar13 & 0x40000" (identifier "uVar13") (& "&") (number_literal "0x40000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_5 = *(code **)(param_5 + 0xc);\n      }" ({ "{") (expression_statement "param_5 = *(code **)(param_5 + 0xc);" (assignment_expression "param_5 = *(code **)(param_5 + 0xc)" (identifier "param_5") (= "=") (pointer_expression "*(code **)(param_5 + 0xc)" (* "*") (cast_expression "(code **)(param_5 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" (else "else") (compound_statement "{\n        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);\n      }" ({ "{") (expression_statement "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);" (assignment_expression "param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4)" (identifier "param_5") (= "=") (pointer_expression "*(code **)(*(int *)(param_5 + 0x14) + 4)" (* "*") (cast_expression "(code **)(*(int *)(param_5 + 0x14) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_5 + 0x14) + 4)" (( "(") (binary_expression "*(int *)(param_5 + 0x14) + 4" (pointer_expression "*(int *)(param_5 + 0x14)" (* "*") (cast_expression "(int *)(param_5 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x14)" (( "(") (binary_expression "param_5 + 0x14" (identifier "param_5") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (param_5 == (code *)0x0) break;" (if "if") (parenthesized_expression "(param_5 == (code *)0x0)" (( "(") (binary_expression "param_5 == (code *)0x0" (identifier "param_5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar13 = *(uint *)(param_5 + 4);" (assignment_expression "uVar13 = *(uint *)(param_5 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(param_5 + 4)" (* "*") (cast_expression "(uint *)(param_5 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar23 = 0x1fff;" (assignment_expression "uVar23 = 0x1fff" (identifier "uVar23") (= "=") (number_literal "0x1fff")) (; ";")) (if_statement "if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {\n    uVar23 = 0x800;\n  }" (if "if") (parenthesized_expression "((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0)" (( "(") (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||\n      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (binary_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4)" (( "(") (binary_expression "*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" (* "*") (cast_expression "(uint *)(pcVar43 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x20)" (( "(") (binary_expression "pcVar43 + 0x20" (identifier "pcVar43") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (cast_expression "(uint)pcStack_1a4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_1a4"))) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0" (parenthesized_expression "(*(uint *)(pcVar43 + 0x24) & (uint)pcVar42)" (( "(") (binary_expression "*(uint *)(pcVar43 + 0x24) & (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" (* "*") (cast_expression "(uint *)(pcVar43 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x24)" (( "(") (binary_expression "pcVar43 + 0x24" (identifier "pcVar43") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42"))) () ")")) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar23 = 0x800;\n  }" ({ "{") (expression_statement "uVar23 = 0x800;" (assignment_expression "uVar23 = 0x800" (identifier "uVar23") (= "=") (number_literal "0x800")) (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(pcVar43 + 0x18)) {\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" (if "if") (parenthesized_expression "(0 < *(int *)(pcVar43 + 0x18))" (( "(") (binary_expression "0 < *(int *)(pcVar43 + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)(pcVar43 + 0x18)" (* "*") (cast_expression "(int *)(pcVar43 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x18)" (( "(") (binary_expression "pcVar43 + 0x18" (identifier "pcVar43") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);\n  }" ({ "{") (expression_statement "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);" (assignment_expression "iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4)" (( "(") (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4" (binary_expression "*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14" (pointer_expression "*(int *)(iVar32 + 0x14)" (* "*") (cast_expression "(int *)(iVar32 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x14)" (( "(") (binary_expression "iVar32 + 0x14" (identifier "iVar32") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(*(int *)(pcVar43 + 0x18) + -1) * 0x14" (parenthesized_expression "(*(int *)(pcVar43 + 0x18) + -1)" (( "(") (binary_expression "*(int *)(pcVar43 + 0x18) + -1" (pointer_expression "*(int *)(pcVar43 + 0x18)" (* "*") (cast_expression "(int *)(pcVar43 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x18)" (( "(") (binary_expression "pcVar43 + 0x18" (identifier "pcVar43") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "-1")) () ")")) (* "*") (number_literal "0x14"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c4c);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c4c)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c4c)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c4c)" (( "(") (binary_expression "puVar47 + 0x96c4c" (identifier "puVar47") (+ "+") (number_literal "0x96c4c")) () ")"))))) (; ";")) (expression_statement "pcVar31 = pcVar42;" (assignment_expression "pcVar31 = pcVar42" (identifier "pcVar31") (= "=") (identifier "pcVar42")) (; ";")) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(iVar39 + -0x28cc))\n                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x28cc)" (* "*") (cast_expression "(code *)(iVar39 + -0x28cc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x28cc)" (( "(") (binary_expression "iVar39 + -0x28cc" (identifier "iVar39") (+ "+") (number_literal "-0x28cc")) () ")")))) () ")")) (argument_list "(pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1)" (( "(") (identifier "pcVar26") (, ",") (number_literal "0x800") (, ",") (identifier "pcStack_1a4") (, ",") (identifier "pcVar42") (, ",") (pointer_expression "&uStack_160" (& "&") (identifier "uStack_160")) (, ",") (identifier "iVar32") (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar32 != 0) {\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;\n    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;\n    if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }\n    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;\n  }" ({ "{") (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uStack_160")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x1c)" (( "(") (binary_expression "pcVar43 + 0x1c" (identifier "pcVar43") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uStack_15c")) (; ";")) (if_statement "if (param_1 == (code *)&DAT_00000031) {\n      uVar14 = 1;\n    }\n    else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)&DAT_00000031)" (( "(") (binary_expression "param_1 == (code *)&DAT_00000031" (identifier "param_1") (== "==") (cast_expression "(code *)&DAT_00000031" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000031" (& "&") (identifier "DAT_00000031")))) () ")")) (compound_statement "{\n      uVar14 = 1;\n    }" ({ "{") (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar14 = 0x100;\n      if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }\n    }" ({ "{") (expression_statement "uVar14 = 0x100;" (assignment_expression "uVar14 = 0x100" (identifier "uVar14") (= "=") (number_literal "0x100")) (; ";")) (if_statement "if (param_1 != (code *)0x32) {\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" (if "if") (parenthesized_expression "(param_1 != (code *)0x32)" (( "(") (binary_expression "param_1 != (code *)0x32" (identifier "param_1") (!= "!=") (cast_expression "(code *)0x32" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x32"))) () ")")) (compound_statement "{\n        if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }\n      }" ({ "{") (if_statement "if (param_1 == (code *)0x2d) {\n          uVar14 = 0x80;\n        }\n        else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" (if "if") (parenthesized_expression "(param_1 == (code *)0x2d)" (( "(") (binary_expression "param_1 == (code *)0x2d" (identifier "param_1") (== "==") (cast_expression "(code *)0x2d" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2d"))) () ")")) (compound_statement "{\n          uVar14 = 0x80;\n        }" ({ "{") (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" (identifier "uVar14") (= "=") (number_literal "0x80")) (; ";")) (} "}")) (else_clause "else {\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" (else "else") (compound_statement "{\n          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));\n        }" ({ "{") (expression_statement "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));" (assignment_expression "uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" (identifier "uVar14") (= "=") (call_expression "(ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f))" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(2 << ((uint)(param_1 + -0x35) & 0x1f))" (( "(") (binary_expression "2 << ((uint)(param_1 + -0x35) & 0x1f)" (number_literal "2") (<< "<<") (parenthesized_expression "((uint)(param_1 + -0x35) & 0x1f)" (( "(") (binary_expression "(uint)(param_1 + -0x35) & 0x1f" (call_expression "(uint)(param_1 + -0x35)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + -0x35)" (( "(") (binary_expression "param_1 + -0x35" (identifier "param_1") (+ "+") (number_literal "-0x35")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (expression_statement "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar43 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "uVar23 & uVar14" (identifier "uVar23") (& "&") (identifier "uVar14"))) (; ";")) (} "}"))) (if_statement "if (param_1 == (code *)0x2d) {\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" (if "if") (parenthesized_expression "(param_1 == (code *)0x2d)" (( "(") (binary_expression "param_1 == (code *)0x2d" (identifier "param_1") (== "==") (cast_expression "(code *)0x2d" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2d"))) () ")")) (compound_statement "{\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n  }" ({ "{") (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x800"))) (; ";")) (} "}"))) (expression_statement "pcVar38 = (code *)&uStack_160;" (assignment_expression "pcVar38 = (code *)&uStack_160" (identifier "pcVar38") (= "=") (cast_expression "(code *)&uStack_160" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_160" (& "&") (identifier "uStack_160")))) (; ";")) (expression_statement "pcStack_190 = pcVar37;" (assignment_expression "pcStack_190 = pcVar37" (identifier "pcStack_190") (= "=") (identifier "pcVar37")) (; ";")) (expression_statement "pcStack_18c = pcVar48;" (assignment_expression "pcStack_18c = pcVar48" (identifier "pcStack_18c") (= "=") (identifier "pcVar48")) (; ";")) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4d78;" (if "if") (parenthesized_expression "(param_5 == (code *)0x0)" (( "(") (binary_expression "param_5 == (code *)0x0" (identifier "param_5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c4d78;" (goto "goto") (statement_identifier "LAB_000c4d78") (; ";"))) (expression_statement "pcVar31 = *(code **)(pcVar43 + 0x24);" (assignment_expression "pcVar31 = *(code **)(pcVar43 + 0x24)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar43 + 0x24)" (* "*") (cast_expression "(code **)(pcVar43 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x24)" (( "(") (binary_expression "pcVar43 + 0x24" (identifier "pcVar43") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "pcVar54 = (code *)&uStack_160;" (assignment_expression "pcVar54 = (code *)&uStack_160" (identifier "pcVar54") (= "=") (cast_expression "(code *)&uStack_160" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_160" (& "&") (identifier "uStack_160")))) (; ";")) (expression_statement "pcVar55 = param_5;" (assignment_expression "pcVar55 = param_5" (identifier "pcVar55") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pcVar56 = param_1;" (assignment_expression "pcVar56 = param_1" (identifier "pcVar56") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(iVar39 + -0x28cc))(pcVar26)" (parenthesized_expression "(*(code *)(iVar39 + -0x28cc))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x28cc)" (* "*") (cast_expression "(code *)(iVar39 + -0x28cc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x28cc)" (( "(") (binary_expression "iVar39 + -0x28cc" (identifier "iVar39") (+ "+") (number_literal "-0x28cc")) () ")")))) () ")")) (argument_list "(pcVar26)" (( "(") (identifier "pcVar26") () ")")))) (; ";")) (if_statement "if (iVar32 == 0) goto LAB_000c4d78;" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c4d78;" (goto "goto") (statement_identifier "LAB_000c4d78") (; ";"))) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" (identifier "uVar49") (= "=") (identifier "uVar50")) (; ";")) (if_statement "if (*(int *)(pcVar43 + 0x14) < 0) {\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }\n  else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(pcVar43 + 0x14) < 0)" (( "(") (binary_expression "*(int *)(pcVar43 + 0x14) < 0" (pointer_expression "*(int *)(pcVar43 + 0x14)" (* "*") (cast_expression "(int *)(pcVar43 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar32 = *(int *)(param_4 + 0xc);\n    uVar13 = 0;\n    param_5 = param_4;\n  }" ({ "{") (expression_statement "iVar32 = *(int *)(param_4 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_4 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_4 + 0xc)" (* "*") (cast_expression "(int *)(param_4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = param_4;" (assignment_expression "param_5 = param_4" (identifier "param_5") (= "=") (identifier "param_4")) (; ";")) (} "}")) (else_clause "else {\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" (else "else") (compound_statement "{\n    pcVar31 = (code *)0x0;\n    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);\n    uVar53 = uVar50;\n    if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }\n    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    iVar32 = (*pcVar38)(pcVar22,param_5,3);\n    if (iVar32 == 0) goto LAB_000c4c58;\n    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n    *(code **)(pcVar43 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }\n    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;\n    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;\n    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }\n  }" ({ "{") (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (identifier "param_5") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56)" (( "(") (identifier "pcVar6") (, ",") (identifier "param_4") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "pcVar54") (, ",") (identifier "pcVar55") (, ",") (identifier "pcVar56") () ")"))))) (; ";")) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" (identifier "uVar53") (= "=") (identifier "uVar50")) (; ";")) (if_statement "if (pcVar6[0x51] != (code)0x0) {\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" (if "if") (parenthesized_expression "(pcVar6[0x51] != (code)0x0)" (( "(") (binary_expression "pcVar6[0x51] != (code)0x0" (subscript_expression "pcVar6[0x51]" (identifier "pcVar6") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar38 = pcVar6;\n      if (param_5 == (code *)0x0) goto LAB_000c4c58;\n      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);\n      goto LAB_000c4c58;\n    }" ({ "{") (expression_statement "pcVar38 = pcVar6;" (assignment_expression "pcVar38 = pcVar6" (identifier "pcVar38") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if (param_5 == (code *)0x0) goto LAB_000c4c58;" (if "if") (parenthesized_expression "(param_5 == (code *)0x0)" (( "(") (binary_expression "param_5 == (code *)0x0" (identifier "param_5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";"))) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7bc4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7bc4" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bf8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bf8)" (( "(") (binary_expression "puVar47 + 0x96bf8" (identifier "puVar47") (+ "+") (number_literal "0x96bf8")) () ")")))) (+ "+") (number_literal "0x7bc4")) () ")")))) () ")")) (argument_list "(pcVar6,param_5)" (( "(") (identifier "pcVar6") (, ",") (identifier "param_5") () ")"))) (; ";")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";")) (} "}"))) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (expression_statement "iVar32 = (*pcVar38)(pcVar22,param_5,3);" (assignment_expression "iVar32 = (*pcVar38)(pcVar22,param_5,3)" (identifier "iVar32") (= "=") (call_expression "(*pcVar38)(pcVar22,param_5,3)" (parenthesized_expression "(*pcVar38)" (( "(") (pointer_expression "*pcVar38" (* "*") (identifier "pcVar38")) () ")")) (argument_list "(pcVar22,param_5,3)" (( "(") (identifier "pcVar22") (, ",") (identifier "param_5") (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar32 == 0) goto LAB_000c4c58;" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c4c58;" (goto "goto") (statement_identifier "LAB_000c4c58") (; ";"))) (expression_statement "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (identifier "pcVar43") (= "=") (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar32 * 0x30" (identifier "iVar32") (* "*") (number_literal "0x30"))) () ")")))) (; ";")) (expression_statement "*(code **)(pcVar43 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + 0x10)" (* "*") (cast_expression "(code **)(pcVar43 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x10)" (( "(") (binary_expression "pcVar43 + 0x10" (identifier "pcVar43") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" (* "*") (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar32 * 0x30" (identifier "iVar32") (* "*") (number_literal "0x30"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (param_1 == (code *)0x2d) {\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)0x2d)" (( "(") (binary_expression "param_1 == (code *)0x2d" (identifier "param_1") (== "==") (cast_expression "(code *)0x2d" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2d"))) () ")")) (compound_statement "{\n      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;\n    }" ({ "{") (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar43 + 10) | 0x800" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x800"))) (; ";")) (} "}"))) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcVar46") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar46 + 10) | 8" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;" (assignment_expression "uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (identifier "uVar13") (= "=") (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" (* "*") (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" (( "(") (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" (* "*") (cast_expression "(int *)pcVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar17"))) (+ "+") (number_literal "0x4c")) () ")")))) (& "&") (number_literal "0x80"))) (; ";")) (if_statement "if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }\n    else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" (if "if") (parenthesized_expression "((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0)" (( "(") (binary_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0" (parenthesized_expression "(*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80)" (( "(") (binary_expression "*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80" (pointer_expression "*(ushort *)(*(int *)pcVar17 + 0x4c)" (* "*") (cast_expression "(ushort *)(*(int *)pcVar17 + 0x4c)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar17 + 0x4c)" (( "(") (binary_expression "*(int *)pcVar17 + 0x4c" (pointer_expression "*(int *)pcVar17" (* "*") (cast_expression "(int *)pcVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar17"))) (+ "+") (number_literal "0x4c")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }\n    }" ({ "{") (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)) {\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" (if "if") (parenthesized_expression "(((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0))" (( "(") (binary_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&\n         ((*(uint *)(param_5 + 4) & 1) == 0)" (parenthesized_expression "((*param_5 == (code)0x35) || (*param_5 == (code)0x2d))" (( "(") (binary_expression "(*param_5 == (code)0x35) || (*param_5 == (code)0x2d)" (parenthesized_expression "(*param_5 == (code)0x35)" (( "(") (binary_expression "*param_5 == (code)0x35" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (== "==") (cast_expression "(code)0x35" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x35"))) () ")")) (|| "||") (parenthesized_expression "(*param_5 == (code)0x2d)" (( "(") (binary_expression "*param_5 == (code)0x2d" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (== "==") (cast_expression "(code)0x2d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2d"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(param_5 + 4) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(param_5 + 4) & 1) == 0" (parenthesized_expression "(*(uint *)(param_5 + 4) & 1)" (( "(") (binary_expression "*(uint *)(param_5 + 4) & 1" (pointer_expression "*(uint *)(param_5 + 4)" (* "*") (cast_expression "(uint *)(param_5 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n        iVar39 = (*pcVar27)(iVar32);\n        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));\n        pcStack_188 = pcVar48;\n        if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));\n        if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }\n        iVar32 = *(int *)(param_5 + 0xc);\n        uVar49 = uVar50;\n      }" ({ "{") (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b94)" (( "(") (binary_expression "puVar47 + 0x96b94" (identifier "puVar47") (+ "+") (number_literal "0x96b94")) () ")")))) (+ "+") (number_literal "0x5914")) () ")")))) (; ";")) (expression_statement "iVar39 = (*pcVar27)(iVar32);" (assignment_expression "iVar39 = (*pcVar27)(iVar32)" (identifier "iVar39") (= "=") (call_expression "(*pcVar27)(iVar32)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar32)" (( "(") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10))" (identifier "iVar29") (= "=") (call_expression "(*pcVar27)(*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(undefined4 *)(param_5 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(param_5 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" (identifier "pcStack_188") (= "=") (identifier "pcVar48")) (; ";")) (if_statement "if (iVar39 == iVar29) {\n          iVar32 = *(int *)(param_5 + 0xc);\n        }\n        else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" (if "if") (parenthesized_expression "(iVar39 == iVar29)" (( "(") (binary_expression "iVar39 == iVar29" (identifier "iVar39") (== "==") (identifier "iVar29")) () ")")) (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n        }" ({ "{") (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" (else "else") (compound_statement "{\n          iVar32 = *(int *)(param_5 + 0xc);\n          uVar49 = CONCAT44(pcVar27,pcVar37);\n          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;\n        }" ({ "{") (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcVar27,pcVar37);" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcVar27,pcVar37)" (identifier "CONCAT44") (argument_list "(pcVar27,pcVar37)" (( "(") (identifier "pcVar27") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))\n          goto LAB_000c5710;" (if "if") (parenthesized_expression "((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))" (( "(") (binary_expression "(iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" (parenthesized_expression "(iVar39 < 0x43)" (( "(") (binary_expression "iVar39 < 0x43" (identifier "iVar39") (< "<") (number_literal "0x43")) () ")")) (|| "||") (parenthesized_expression "(uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43)" (( "(") (comma_expression "uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43" (assignment_expression "uVar49 = CONCAT44(pcVar27,pcVar37)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcVar27,pcVar37)" (identifier "CONCAT44") (argument_list "(pcVar27,pcVar37)" (( "(") (identifier "pcVar27") (, ",") (identifier "pcVar37") () ")")))) (, ",") (binary_expression "iVar29 < 0x43" (identifier "iVar29") (< "<") (number_literal "0x43"))) () ")"))) () ")")) (goto_statement "goto LAB_000c5710;" (goto "goto") (statement_identifier "LAB_000c5710") (; ";"))) (} "}")))) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))\n                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x7808)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x7808" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x7808")) () ")")))) () ")")) (argument_list "(pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10))" (( "(") (identifier "pcVar17") (, ",") (identifier "iVar32") (, ",") (pointer_expression "*(undefined4 *)(param_5 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar32 == 0) {\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }\n        else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);\nLAB_000c5968:\n          uVar13 = 0x800;\n          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;\n        }" ({ "{") (labeled_statement "LAB_000c5964:\n          uVar14 = *(ushort *)(pcVar46 + 0xc);" (statement_identifier "LAB_000c5964") (: ":") (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" (identifier "uVar14") (= "=") (pointer_expression "*(ushort *)(pcVar46 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar46 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (labeled_statement "LAB_000c5968:\n          uVar13 = 0x800;" (statement_identifier "LAB_000c5968") (: ":") (expression_statement "uVar13 = 0x800;" (assignment_expression "uVar13 = 0x800" (identifier "uVar13") (= "=") (number_literal "0x800")) (; ";"))) (expression_statement "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;" (assignment_expression "*(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar46 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "uVar14 | 0x800" (identifier "uVar14") (| "|") (number_literal "0x800"))) (; ";")) (} "}")) (else_clause "else {\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" (else "else") (compound_statement "{\n          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );\n          if (iVar32 != 0) goto LAB_000c5964;\n        }" ({ "{") (if_statement "if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)) {\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" (if "if") (parenthesized_expression "((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0))" (( "(") (binary_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&\n             (*(int *)(iVar32 + 8) == 0)" (parenthesized_expression "(*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0)" (( "(") (binary_expression "*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(iVar32 + 0xc)" (* "*") (cast_expression "(int *)(iVar32 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0xc)" (( "(") (binary_expression "iVar32 + 0xc" (identifier "iVar32") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x7af0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x7af0"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar32 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar32 + 8) == 0" (pointer_expression "*(int *)(iVar32 + 8)" (* "*") (cast_expression "(int *)(iVar32 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 8)" (( "(") (binary_expression "iVar32 + 8" (identifier "iVar32") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            uVar14 = *(ushort *)(pcVar46 + 0xc);\n            goto LAB_000c5968;\n          }" ({ "{") (expression_statement "uVar14 = *(ushort *)(pcVar46 + 0xc);" (assignment_expression "uVar14 = *(ushort *)(pcVar46 + 0xc)" (identifier "uVar14") (= "=") (pointer_expression "*(ushort *)(pcVar46 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar46 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_000c5968;" (goto "goto") (statement_identifier "LAB_000c5968") (; ";")) (} "}"))) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             );" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))\n                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x7c14)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x7c14" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c4c)" (( "(") (binary_expression "puVar47 + 0x96c4c" (identifier "puVar47") (+ "+") (number_literal "0x96c4c")) () ")")))) (+ "+") (number_literal "-0x7c14")) () ")")))) () ")")) (argument_list "(pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)\n                             )" (( "(") (identifier "pcVar17") (, ",") (pointer_expression "*(undefined4 *)(param_5 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_5 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar32 != 0) goto LAB_000c5964;" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5964;" (goto "goto") (statement_identifier "LAB_000c5964") (; ";"))) (} "}")))) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" (identifier "uVar49") (= "=") (identifier "uVar50")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" (else "else") (compound_statement "{\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar13 = 0;\n    }" ({ "{") (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000c5710:\n  iVar39 = *(int *)(param_5 + 0x10);" (statement_identifier "LAB_000c5710") (: ":") (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(param_5 + 0x10)" (* "*") (cast_expression "(int *)(param_5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "uVar18 = *(uint *)(iVar39 + 4) & 0x100;" (assignment_expression "uVar18 = *(uint *)(iVar39 + 4) & 0x100" (identifier "uVar18") (= "=") (binary_expression "*(uint *)(iVar39 + 4) & 0x100" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x100"))) (; ";")) (if_statement "if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" (if "if") (parenthesized_expression "(uVar18 == (*(uint *)(iVar32 + 4) & 0x100))" (( "(") (binary_expression "uVar18 == (*(uint *)(iVar32 + 4) & 0x100)" (identifier "uVar18") (== "==") (parenthesized_expression "(*(uint *)(iVar32 + 4) & 0x100)" (( "(") (binary_expression "*(uint *)(iVar32 + 4) & 0x100" (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x100")) () ")"))) () ")")) (compound_statement "{\n    if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }\n  }" ({ "{") (if_statement "if (uVar18 == 0) {\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }\n    else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" (if "if") (parenthesized_expression "(uVar18 == 0)" (( "(") (binary_expression "uVar18 == 0" (identifier "uVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);\n      if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n      uVar49 = uVar50;\n    }" ({ "{") (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x75dc)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x75dc" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x75dc")) () ")")))) () ")")) (argument_list "(pcVar17)" (( "(") (identifier "pcVar17") () ")")))) (; ";")) (if_statement "if (iVar32 != 0) {\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;\n      }" ({ "{") (expression_statement "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;" (assignment_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100" (pointer_expression "*(uint *)(*(int *)(param_5 + 0xc) + 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_5 + 0xc) + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_5 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(param_5 + 0xc) + 4" (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (| "|") (number_literal "0x100"))) (; ";")) (} "}"))) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(param_5 + 0x10)" (* "*") (cast_expression "(int *)(param_5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" (identifier "uVar49") (= "=") (identifier "uVar50")) (; ";")) (} "}")) (else_clause "else {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" (else "else") (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;\n      iVar39 = *(int *)(param_5 + 0x10);\n      iVar32 = *(int *)(param_5 + 0xc);\n    }" ({ "{") (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar39 + 4) & 0xfffffeff" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xfffffeff"))) (; ";")) (expression_statement "iVar39 = *(int *)(param_5 + 0x10);" (assignment_expression "iVar39 = *(int *)(param_5 + 0x10)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(param_5 + 0x10)" (* "*") (cast_expression "(int *)(param_5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar32 = *(int *)(param_5 + 0xc);" (assignment_expression "iVar32 = *(int *)(param_5 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcStack_18c = (code *)uVar49;" (assignment_expression "pcStack_18c = (code *)uVar49" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)uVar49" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar49"))) (; ";")) (expression_statement "*(int *)(param_5 + 0xc) = iVar39;" (assignment_expression "*(int *)(param_5 + 0xc) = iVar39" (pointer_expression "*(int *)(param_5 + 0xc)" (* "*") (cast_expression "(int *)(param_5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar39")) (; ";")) (expression_statement "*(int *)(param_5 + 0x10) = iVar32;" (assignment_expression "*(int *)(param_5 + 0x10) = iVar32" (pointer_expression "*(int *)(param_5 + 0x10)" (* "*") (cast_expression "(int *)(param_5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x10)" (( "(") (binary_expression "param_5 + 0x10" (identifier "param_5") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar32")) (; ";")) (if_statement "if (0x35 < (byte)*param_5) {\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" (if "if") (parenthesized_expression "(0x35 < (byte)*param_5)" (( "(") (binary_expression "0x35 < (byte)*param_5" (number_literal "0x35") (< "<") (binary_expression "(byte)*param_5" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "param_5"))) () ")")) (compound_statement "{\n    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);\n  }" ({ "{") (expression_statement "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);" (assignment_expression "*param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (call_expression "(code)(((char)*param_5 - 0x36U ^ 2) + 0x36)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(((char)*param_5 - 0x36U ^ 2) + 0x36)" (( "(") (binary_expression "((char)*param_5 - 0x36U ^ 2) + 0x36" (parenthesized_expression "((char)*param_5 - 0x36U ^ 2)" (( "(") (binary_expression "(char)*param_5 - 0x36U ^ 2" (binary_expression "(char)*param_5 - 0x36U" (cast_expression "(char)*param_5" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_5" (* "*") (identifier "param_5"))) (- "-") (number_literal "0x36U")) (^ "^") (number_literal "2")) () ")")) (+ "+") (number_literal "0x36")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(pcVar43 + 0x28) = uVar50;" (assignment_expression "*(undefined8 *)(pcVar43 + 0x28) = uVar50" (pointer_expression "*(undefined8 *)(pcVar43 + 0x28)" (* "*") (cast_expression "(undefined8 *)(pcVar43 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x28)" (( "(") (binary_expression "pcVar43 + 0x28" (identifier "pcVar43") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar50")) (; ";")) (expression_statement "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;" (assignment_expression "*(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4" (pointer_expression "*(uint *)(pcVar43 + 0x20)" (* "*") (cast_expression "(uint *)(pcVar43 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x20)" (( "(") (binary_expression "pcVar43 + 0x20" (identifier "pcVar43") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "uStack_198 | (uint)pcStack_1a4" (identifier "uStack_198") (| "|") (cast_expression "(uint)pcStack_1a4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_1a4")))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,uStack_194 | (uint)pcVar42)" (( "(") (identifier "pcStack_1a4") (, ",") (binary_expression "uStack_194 | (uint)pcVar42" (identifier "uStack_194") (| "|") (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42"))) () ")")))) (; ";")) (expression_statement "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;" (assignment_expression "*(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42" (pointer_expression "*(uint *)(pcVar43 + 0x24)" (* "*") (cast_expression "(uint *)(pcVar43 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x24)" (( "(") (binary_expression "pcVar43 + 0x24" (identifier "pcVar43") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "uStack_194 | (uint)pcVar42" (identifier "uStack_194") (| "|") (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42")))) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x14) = uStack_160;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x14) = uStack_160" (pointer_expression "*(undefined4 *)(pcVar43 + 0x14)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uStack_160")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x1c) = uStack_15c" (pointer_expression "*(undefined4 *)(pcVar43 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x1c)" (( "(") (binary_expression "pcVar43 + 0x1c" (identifier "pcVar43") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uStack_15c")) (; ";")) (expression_statement "uVar18 = (uint)(byte)*param_5;" (assignment_expression "uVar18 = (uint)(byte)*param_5" (identifier "uVar18") (= "=") (binary_expression "(uint)(byte)*param_5" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "param_5"))) (; ";")) (if_statement "if (uVar18 == 0x31) {\n    uVar18 = 1;\n  }\n  else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (if "if") (parenthesized_expression "(uVar18 == 0x31)" (( "(") (binary_expression "uVar18 == 0x31" (identifier "uVar18") (== "==") (number_literal "0x31")) () ")")) (compound_statement "{\n    uVar18 = 1;\n  }" ({ "{") (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (else "else") (if_statement "if (uVar18 == 0x32) {\n    uVar18 = 0x100;\n  }\n  else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (if "if") (parenthesized_expression "(uVar18 == 0x32)" (( "(") (binary_expression "uVar18 == 0x32" (identifier "uVar18") (== "==") (number_literal "0x32")) () ")")) (compound_statement "{\n    uVar18 = 0x100;\n  }" ({ "{") (expression_statement "uVar18 = 0x100;" (assignment_expression "uVar18 = 0x100" (identifier "uVar18") (= "=") (number_literal "0x100")) (; ";")) (} "}")) (else_clause "else if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (else "else") (if_statement "if (uVar18 == 0x2d) {\n    uVar18 = 0x80;\n  }\n  else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (if "if") (parenthesized_expression "(uVar18 == 0x2d)" (( "(") (binary_expression "uVar18 == 0x2d" (identifier "uVar18") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n    uVar18 = 0x80;\n  }" ({ "{") (expression_statement "uVar18 = 0x80;" (assignment_expression "uVar18 = 0x80" (identifier "uVar18") (= "=") (number_literal "0x80")) (; ";")) (} "}")) (else_clause "else {\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" (else "else") (compound_statement "{\n    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;\n  }" ({ "{") (expression_statement "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;" (assignment_expression "uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff" (identifier "uVar18") (= "=") (binary_expression "2 << (uVar18 - 0x35 & 0x1f) & 0xffff" (binary_expression "2 << (uVar18 - 0x35 & 0x1f)" (number_literal "2") (<< "<<") (parenthesized_expression "(uVar18 - 0x35 & 0x1f)" (( "(") (binary_expression "uVar18 - 0x35 & 0x1f" (binary_expression "uVar18 - 0x35" (identifier "uVar18") (- "-") (number_literal "0x35")) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0xffff"))) (; ";")) (} "}")))))))) (expression_statement "param_1 = (code *)(uVar13 + uVar18);" (assignment_expression "param_1 = (code *)(uVar13 + uVar18)" (identifier "param_1") (= "=") (cast_expression "(code *)(uVar13 + uVar18)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 + uVar18)" (( "(") (binary_expression "uVar13 + uVar18" (identifier "uVar13") (+ "+") (identifier "uVar18")) () ")")))) (; ";")) (expression_statement "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;" (assignment_expression "*(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23" (pointer_expression "*(ushort *)(pcVar43 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar43 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(ushort)param_1 & uVar23" (cast_expression "(ushort)param_1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "param_1")) (& "&") (identifier "uVar23"))) (; ";")) (expression_statement "pcVar38 = pcVar43;" (assignment_expression "pcVar38 = pcVar43" (identifier "pcVar38") (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" (identifier "uVar53") (= "=") (identifier "uVar50")) (; ";")) (labeled_statement "LAB_000c4d78:\n  pcVar43 = pcVar46;" (statement_identifier "LAB_000c4d78") (: ":") (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" (identifier "pcVar43") (= "=") (identifier "pcVar46")) (; ";"))) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (pcVar22[8] == (code)0x2c) {\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(pcVar22[8] == (code)0x2c)" (( "(") (binary_expression "pcVar22[8] == (code)0x2c" (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]")) (== "==") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) () ")")) (compound_statement "{\n    uVar13 = (uint)(byte)*param_4;\n    if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }\n    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n    uVar18 = (uint)uVar53;\n    uVar51 = CONCAT44(param_1,param_5);\n    cVar15 = (code)0x2c;\n    if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" (identifier "uVar13") (= "=") (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "param_4"))) (; ";")) (if_statement "if (uVar13 == 0x9d) {\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" (if "if") (parenthesized_expression "(uVar13 == 0x9d)" (( "(") (binary_expression "uVar13 == 0x9d" (identifier "uVar13") (== "==") (number_literal "0x9d")) () ")")) (compound_statement "{\n      pcVar31 = (code *)0x1;\n      if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n    }" ({ "{") (expression_statement "pcVar31 = (code *)0x1;" (assignment_expression "pcVar31 = (code *)0x1" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(int **)(param_4 + 0x14) != (int *)0x0) {\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" (if "if") (parenthesized_expression "(*(int **)(param_4 + 0x14) != (int *)0x0)" (( "(") (binary_expression "*(int **)(param_4 + 0x14) != (int *)0x0" (pointer_expression "*(int **)(param_4 + 0x14)" (* "*") (cast_expression "(int **)(param_4 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar39 = **(int **)(param_4 + 0x14);\n        pcVar38 = *(code **)pcVar17;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);\n        pcVar42 = (code *)uVar53;\n        if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" ({ "{") (expression_statement "iVar39 = **(int **)(param_4 + 0x14);" (assignment_expression "iVar39 = **(int **)(param_4 + 0x14)" (identifier "iVar39") (= "=") (pointer_expression "**(int **)(param_4 + 0x14)" (* "*") (pointer_expression "*(int **)(param_4 + 0x14)" (* "*") (cast_expression "(int **)(param_4 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "pcVar38 = *(code **)pcVar17;" (assignment_expression "pcVar38 = *(code **)pcVar17" (identifier "pcVar38") (= "=") (pointer_expression "*(code **)pcVar17" (* "*") (cast_expression "(code **)pcVar17" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar17")))) (; ";")) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))\n                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + 0x9b4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + 0x9b4" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "0x9b4")) () ")")))) () ")")) (argument_list "(pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0)" (( "(") (identifier "pcVar38") (, ",") (pointer_expression "*(undefined4 *)(param_4 + 8)" (* "*") (cast_expression "(undefined4 *)(param_4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "iVar39") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar42 = (code *)uVar53;" (assignment_expression "pcVar42 = (code *)uVar53" (identifier "pcVar42") (= "=") (cast_expression "(code *)uVar53" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar53"))) (; ";")) (if_statement "if (iVar32 == 0) {\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }\n        else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c55a8:\n          cVar15 = pcVar22[8];\n          pcVar43 = pcVar46;\n        }" ({ "{") (labeled_statement "LAB_000c55a8:\n          cVar15 = pcVar22[8];" (statement_identifier "LAB_000c55a8") (: ":") (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" (identifier "cVar15") (= "=") (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (expression_statement "pcVar43 = pcVar46;" (assignment_expression "pcVar43 = pcVar46" (identifier "pcVar43") (= "=") (identifier "pcVar46")) (; ";")) (} "}")) (else_clause "else {\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" (else "else") (compound_statement "{\n          pcStack_190 = *(code **)(iVar32 + 4);\n          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;\n          iVar29 = *(int *)(param_4 + 0x14);\n          if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }\n          bStack_155 = 0;\n          bVar2 = bStack_155;\nLAB_000c50e4:\n          bStack_155 = bVar2;\n          pbVar7 = *(byte **)(iVar32 + 8);\n          pcVar40 = *(char **)(iVar29 + 4);\n          bStack_158 = *pbVar7;\n          bStack_157 = pbVar7[1];\n          bStack_156 = pbVar7[2];\n          if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          uVar13 = *(uint *)(pcVar40 + 4);\n          while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }\n          cVar16 = *pcVar40;\n          pcVar35 = *(char **)(iVar29 + 0x18);\n          if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }\nLAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n          uVar53 = CONCAT44(pcVar35,pcVar42);\n          cVar15 = pcVar22[8];\n        }" ({ "{") (expression_statement "pcStack_190 = *(code **)(iVar32 + 4);" (assignment_expression "pcStack_190 = *(code **)(iVar32 + 4)" (identifier "pcStack_190") (= "=") (pointer_expression "*(code **)(iVar32 + 4)" (* "*") (cast_expression "(code **)(iVar32 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;" (if "if") (parenthesized_expression "(((uint)pcStack_190 & 4) == 0)" (( "(") (binary_expression "((uint)pcStack_190 & 4) == 0" (parenthesized_expression "((uint)pcStack_190 & 4)" (( "(") (binary_expression "(uint)pcStack_190 & 4" (cast_expression "(uint)pcStack_190" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_190")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c55a8;" (goto "goto") (statement_identifier "LAB_000c55a8") (; ";"))) (expression_statement "iVar29 = *(int *)(param_4 + 0x14);" (assignment_expression "iVar29 = *(int *)(param_4 + 0x14)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (2 < iVar39) {\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" (if "if") (parenthesized_expression "(2 < iVar39)" (( "(") (binary_expression "2 < iVar39" (number_literal "2") (< "<") (identifier "iVar39")) () ")")) (compound_statement "{\n            if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }\n            goto LAB_000c55a8;\n          }" ({ "{") (if_statement "if (**(char **)(iVar29 + 0x2c) == 'j') {\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" (if "if") (parenthesized_expression "(**(char **)(iVar29 + 0x2c) == 'j')" (( "(") (binary_expression "**(char **)(iVar29 + 0x2c) == 'j'" (pointer_expression "**(char **)(iVar29 + 0x2c)" (* "*") (pointer_expression "*(char **)(iVar29 + 0x2c)" (* "*") (cast_expression "(char **)(iVar29 + 0x2c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")"))))) (== "==") (char_literal "'j'" (' "'") (character "j") (' "'"))) () ")")) (compound_statement "{\n              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);\n              bVar2 = *pbVar7;\n              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;\n            }" ({ "{") (expression_statement "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);" (assignment_expression "pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(*(char **)(iVar29 + 0x2c) + 8)" (* "*") (cast_expression "(byte **)(*(char **)(iVar29 + 0x2c) + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(char **)(iVar29 + 0x2c) + 8)" (( "(") (binary_expression "*(char **)(iVar29 + 0x2c) + 8" (pointer_expression "*(char **)(iVar29 + 0x2c)" (* "*") (cast_expression "(char **)(iVar29 + 0x2c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" (identifier "bVar2") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (if_statement "if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;" (if "if") (parenthesized_expression "((bVar2 != 0) && (pbVar7[1] == 0))" (( "(") (binary_expression "(bVar2 != 0) && (pbVar7[1] == 0)" (parenthesized_expression "(bVar2 != 0)" (( "(") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pbVar7[1] == 0)" (( "(") (binary_expression "pbVar7[1] == 0" (subscript_expression "pbVar7[1]" (identifier "pbVar7") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000c50e4;" (goto "goto") (statement_identifier "LAB_000c50e4") (; ";"))) (} "}"))) (goto_statement "goto LAB_000c55a8;" (goto "goto") (statement_identifier "LAB_000c55a8") (; ";")) (} "}"))) (expression_statement "bStack_155 = 0;" (assignment_expression "bStack_155 = 0" (identifier "bStack_155") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar2 = bStack_155;" (assignment_expression "bVar2 = bStack_155" (identifier "bVar2") (= "=") (identifier "bStack_155")) (; ";")) (labeled_statement "LAB_000c50e4:\n          bStack_155 = bVar2;" (statement_identifier "LAB_000c50e4") (: ":") (expression_statement "bStack_155 = bVar2;" (assignment_expression "bStack_155 = bVar2" (identifier "bStack_155") (= "=") (identifier "bVar2")) (; ";"))) (expression_statement "pbVar7 = *(byte **)(iVar32 + 8);" (assignment_expression "pbVar7 = *(byte **)(iVar32 + 8)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(iVar32 + 8)" (* "*") (cast_expression "(byte **)(iVar32 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar32 + 8)" (( "(") (binary_expression "iVar32 + 8" (identifier "iVar32") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar40 = *(char **)(iVar29 + 4);" (assignment_expression "pcVar40 = *(char **)(iVar29 + 4)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(iVar29 + 4)" (* "*") (cast_expression "(char **)(iVar29 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "bStack_158 = *pbVar7;" (assignment_expression "bStack_158 = *pbVar7" (identifier "bStack_158") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "bStack_157 = pbVar7[1];" (assignment_expression "bStack_157 = pbVar7[1]" (identifier "bStack_157") (= "=") (subscript_expression "pbVar7[1]" (identifier "pbVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "bStack_156 = pbVar7[2];" (assignment_expression "bStack_156 = pbVar7[2]" (identifier "bStack_156") (= "=") (subscript_expression "pbVar7[2]" (identifier "pbVar7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (pcVar40 == (char *)0x0) {\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" (if "if") (parenthesized_expression "(pcVar40 == (char *)0x0)" (( "(") (binary_expression "pcVar40 == (char *)0x0" (identifier "pcVar40") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" ({ "{") (labeled_statement "LAB_000c5154:\n                    \n            pcVar31 = (code *)trap(0);" (statement_identifier "LAB_000c5154") (: ":") (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (code *)trap(0)" (identifier "pcVar31") (= "=") (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(pcVar40 + 4)" (* "*") (cast_expression "(uint *)(pcVar40 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 4)" (( "(") (binary_expression "pcVar40 + 4" (identifier "pcVar40") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (while_statement "while ((uVar13 & 0x1000) != 0) {\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" (while "while") (parenthesized_expression "((uVar13 & 0x1000) != 0)" (( "(") (binary_expression "(uVar13 & 0x1000) != 0" (parenthesized_expression "(uVar13 & 0x1000)" (( "(") (binary_expression "uVar13 & 0x1000" (identifier "uVar13") (& "&") (number_literal "0x1000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }\n            if (pcVar40 == (char *)0x0) goto LAB_000c5154;\n            uVar13 = *(uint *)(pcVar40 + 4);\n          }" ({ "{") (if_statement "if ((uVar13 & 0x40000) == 0) {\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }\n            else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" (if "if") (parenthesized_expression "((uVar13 & 0x40000) == 0)" (( "(") (binary_expression "(uVar13 & 0x40000) == 0" (parenthesized_expression "(uVar13 & 0x40000)" (( "(") (binary_expression "uVar13 & 0x40000" (identifier "uVar13") (& "&") (number_literal "0x40000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar40 = *(char **)(pcVar40 + 0xc);\n            }" ({ "{") (expression_statement "pcVar40 = *(char **)(pcVar40 + 0xc);" (assignment_expression "pcVar40 = *(char **)(pcVar40 + 0xc)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(pcVar40 + 0xc)" (* "*") (cast_expression "(char **)(pcVar40 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0xc)" (( "(") (binary_expression "pcVar40 + 0xc" (identifier "pcVar40") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" (else "else") (compound_statement "{\n              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);\n            }" ({ "{") (expression_statement "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);" (assignment_expression "pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(*(int *)(pcVar40 + 0x14) + 4)" (* "*") (cast_expression "(char **)(*(int *)(pcVar40 + 0x14) + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar40 + 0x14) + 4)" (( "(") (binary_expression "*(int *)(pcVar40 + 0x14) + 4" (pointer_expression "*(int *)(pcVar40 + 0x14)" (* "*") (cast_expression "(int *)(pcVar40 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x14)" (( "(") (binary_expression "pcVar40 + 0x14" (identifier "pcVar40") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (pcVar40 == (char *)0x0) goto LAB_000c5154;" (if "if") (parenthesized_expression "(pcVar40 == (char *)0x0)" (( "(") (binary_expression "pcVar40 == (char *)0x0" (identifier "pcVar40") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5154;" (goto "goto") (statement_identifier "LAB_000c5154") (; ";"))) (expression_statement "uVar13 = *(uint *)(pcVar40 + 4);" (assignment_expression "uVar13 = *(uint *)(pcVar40 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(pcVar40 + 4)" (* "*") (cast_expression "(uint *)(pcVar40 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 4)" (( "(") (binary_expression "pcVar40 + 4" (identifier "pcVar40") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}"))) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" (identifier "cVar16") (= "=") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40"))) (; ";")) (expression_statement "pcVar35 = *(char **)(iVar29 + 0x18);" (assignment_expression "pcVar35 = *(char **)(iVar29 + 0x18)" (identifier "pcVar35") (= "=") (pointer_expression "*(char **)(iVar29 + 0x18)" (* "*") (cast_expression "(char **)(iVar29 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 0x18)" (( "(") (binary_expression "iVar29 + 0x18" (identifier "iVar29") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (cVar16 == -0x70) {\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }\n          else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(cVar16 == -0x70)" (( "(") (binary_expression "cVar16 == -0x70" (identifier "cVar16") (== "==") (number_literal "-0x70")) () ")")) (compound_statement "{\n            param_1 = (code *)0x0;\n            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }\n          }" ({ "{") (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" (identifier "param_1") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (-1 < *(int *)(pcVar38 + 0x24) << 8) {\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" (if "if") (parenthesized_expression "(-1 < *(int *)(pcVar38 + 0x24) << 8)" (( "(") (binary_expression "-1 < *(int *)(pcVar38 + 0x24) << 8" (number_literal "-1") (< "<") (binary_expression "*(int *)(pcVar38 + 0x24) << 8" (pointer_expression "*(int *)(pcVar38 + 0x24)" (* "*") (cast_expression "(int *)(pcVar38 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x24)" (( "(") (binary_expression "pcVar38 + 0x24" (identifier "pcVar38") (+ "+") (number_literal "0x24")) () ")")))) (<< "<<") (number_literal "8"))) () ")")) (compound_statement "{\n              iVar32 = *(int *)(pcVar40 + 0x20);\n              uVar49 = CONCAT44(pcVar35,iVar32);\n              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);\n              if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }\n            }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar40 + 0x20);" (assignment_expression "iVar32 = *(int *)(pcVar40 + 0x20)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar40 + 0x20)" (* "*") (cast_expression "(int *)(pcVar40 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x20)" (( "(") (binary_expression "pcVar40 + 0x20" (identifier "pcVar40") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcVar35,iVar32)" (identifier "CONCAT44") (argument_list "(pcVar35,iVar32)" (( "(") (identifier "pcVar35") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);" (assignment_expression "param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (identifier "param_1") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))\n                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + 0x6c04)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c48) + 0x6c04" (pointer_expression "*(int *)(puVar47 + 0x96c48)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c48)" (( "(") (binary_expression "puVar47 + 0x96c48" (identifier "puVar47") (+ "+") (number_literal "0x96c48")) () ")")))) (+ "+") (number_literal "0x6c04")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(pcVar17 + 0xd8),iVar32)" (( "(") (pointer_expression "*(undefined4 *)(pcVar17 + 0xd8)" (* "*") (cast_expression "(undefined4 *)(pcVar17 + 0xd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0xd8)" (( "(") (binary_expression "pcVar17 + 0xd8" (identifier "pcVar17") (+ "+") (number_literal "0xd8")) () ")")))) (, ",") (identifier "iVar32") () ")"))))) (; ";")) (if_statement "if (param_1 == (code *)0x0) {\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }\n              else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" (if "if") (parenthesized_expression "(param_1 == (code *)0x0)" (( "(") (binary_expression "param_1 == (code *)0x0" (identifier "param_1") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" ({ "{") (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(pcVar17 + 8)" (* "*") (cast_expression "(int *)(pcVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 8)" (( "(") (binary_expression "pcVar17 + 8" (identifier "pcVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" (else "else") (compound_statement "{\n                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);\n                if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }\n                iVar39 = *(int *)(pcVar17 + 8);\n                uVar13 = *(uint *)(iVar39 + 0xd0);\n              }" ({ "{") (expression_statement "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);" (assignment_expression "iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1)" (identifier "iVar39") (= "=") (call_expression "(**(code **)(puVar47 + 0x96b30))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b30))" (( "(") (pointer_expression "**(code **)(puVar47 + 0x96b30)" (* "*") (pointer_expression "*(code **)(puVar47 + 0x96b30)" (* "*") (cast_expression "(code **)(puVar47 + 0x96b30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96b30)" (( "(") (binary_expression "puVar47 + 0x96b30" (identifier "puVar47") (+ "+") (number_literal "0x96b30")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar39 == 3) {\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" (if "if") (parenthesized_expression "(iVar39 == 3)" (( "(") (binary_expression "iVar39 == 3" (identifier "iVar39") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);\n                  iVar39 = *(int *)(pcVar17 + 8);\n                  if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }\n                  goto LAB_000c517c;\n                }" ({ "{") (expression_statement "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);" (assignment_expression "pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" (identifier "pbVar7") (= "=") (cast_expression "(byte *)(**(code **)(puVar47 + 0x96b4c))(param_1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar47 + 0x96b4c))(param_1)" (parenthesized_expression "(**(code **)(puVar47 + 0x96b4c))" (( "(") (pointer_expression "**(code **)(puVar47 + 0x96b4c)" (* "*") (pointer_expression "*(code **)(puVar47 + 0x96b4c)" (* "*") (cast_expression "(code **)(puVar47 + 0x96b4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96b4c)" (( "(") (binary_expression "puVar47 + 0x96b4c" (identifier "puVar47") (+ "+") (number_literal "0x96b4c")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(pcVar17 + 8)" (* "*") (cast_expression "(int *)(pcVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 8)" (( "(") (binary_expression "pcVar17 + 8" (identifier "pcVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar32 < 0x20) {\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }\n                  else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" (if "if") (parenthesized_expression "(iVar32 < 0x20)" (( "(") (binary_expression "iVar32 < 0x20" (identifier "iVar32") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                    uVar13 = 1 << (iVar32 - 1U & 0x1f);\n                    uVar49 = CONCAT44(pcVar35,uVar13);\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;\n                    param_5 = pcVar17;\n                  }" ({ "{") (expression_statement "uVar13 = 1 << (iVar32 - 1U & 0x1f);" (assignment_expression "uVar13 = 1 << (iVar32 - 1U & 0x1f)" (identifier "uVar13") (= "=") (binary_expression "1 << (iVar32 - 1U & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(iVar32 - 1U & 0x1f)" (( "(") (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" (identifier "iVar32") (- "-") (number_literal "1U")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcVar35,uVar13);" (assignment_expression "uVar49 = CONCAT44(pcVar35,uVar13)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcVar35,uVar13)" (identifier "CONCAT44") (argument_list "(pcVar35,uVar13)" (( "(") (identifier "pcVar35") (, ",") (identifier "uVar13") () ")")))) (; ";")) (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar39 + 0xd0) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (| "|") (identifier "uVar13"))) (; ";")) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" (identifier "param_5") (= "=") (identifier "pcVar17")) (; ";")) (} "}")) (else_clause "else {\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" (else "else") (compound_statement "{\n                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;\n                    param_5 = pcVar17;\n                  }" ({ "{") (expression_statement "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar39 + 0xd0) | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (| "|") (number_literal "0x80000000"))) (; ";")) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" (identifier "param_5") (= "=") (identifier "pcVar17")) (; ";")) (} "}")))) (goto_statement "goto LAB_000c517c;" (goto "goto") (statement_identifier "LAB_000c517c") (; ";")) (} "}"))) (expression_statement "iVar39 = *(int *)(pcVar17 + 8);" (assignment_expression "iVar39 = *(int *)(pcVar17 + 8)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(pcVar17 + 8)" (* "*") (cast_expression "(int *)(pcVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 8)" (( "(") (binary_expression "pcVar17 + 8" (identifier "pcVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar39 + 0xd0);" (assignment_expression "uVar13 = *(uint *)(iVar39 + 0xd0)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar32 < 0x20) {\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }\n              else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" (if "if") (parenthesized_expression "(iVar32 < 0x20)" (( "(") (binary_expression "iVar32 < 0x20" (identifier "iVar32") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;\n                param_5 = pcVar17;\n                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);\n              }" ({ "{") (expression_statement "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (binary_expression "1 << (iVar32 - 1U & 0x1f) | uVar13" (binary_expression "1 << (iVar32 - 1U & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(iVar32 - 1U & 0x1f)" (( "(") (binary_expression "iVar32 - 1U & 0x1f" (binary_expression "iVar32 - 1U" (identifier "iVar32") (- "-") (number_literal "1U")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (identifier "uVar13"))) (; ";")) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" (identifier "param_5") (= "=") (identifier "pcVar17")) (; ";")) (expression_statement "uVar49 = CONCAT44(pcVar35,iVar32 - 1U);" (assignment_expression "uVar49 = CONCAT44(pcVar35,iVar32 - 1U)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcVar35,iVar32 - 1U)" (identifier "CONCAT44") (argument_list "(pcVar35,iVar32 - 1U)" (( "(") (identifier "pcVar35") (, ",") (binary_expression "iVar32 - 1U" (identifier "iVar32") (- "-") (number_literal "1U")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" (else "else") (compound_statement "{\n                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;\n                param_5 = pcVar17;\n              }" ({ "{") (expression_statement "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;" (assignment_expression "*(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000" (pointer_expression "*(uint *)(iVar39 + 0xd0)" (* "*") (cast_expression "(uint *)(iVar39 + 0xd0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xd0)" (( "(") (binary_expression "iVar39 + 0xd0" (identifier "iVar39") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (binary_expression "uVar13 | 0x80000000" (identifier "uVar13") (| "|") (number_literal "0x80000000"))) (; ";")) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" (identifier "param_5") (= "=") (identifier "pcVar17")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            param_1 = (code *)0x0;\n            if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "param_1 = (code *)0x0;" (assignment_expression "param_1 = (code *)0x0" (identifier "param_1") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar16 == 'j') {\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(cVar16 == 'j')" (( "(") (binary_expression "cVar16 == 'j'" (identifier "cVar16") (== "==") (char_literal "'j'" (' "'") (character "j") (' "'"))) () ")")) (compound_statement "{\n              pbVar7 = *(byte **)(pcVar40 + 8);\nLAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n              iVar32 = (int)uVar49;\n              if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "pbVar7 = *(byte **)(pcVar40 + 8);" (assignment_expression "pbVar7 = *(byte **)(pcVar40 + 8)" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)(pcVar40 + 8)" (* "*") (cast_expression "(byte **)(pcVar40 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 8)" (( "(") (binary_expression "pcVar40 + 8" (identifier "pcVar40") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (labeled_statement "LAB_000c517c:\n              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (statement_identifier "LAB_000c517c") (: ":") (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "iVar32 = (int)uVar49;" (assignment_expression "iVar32 = (int)uVar49" (identifier "iVar32") (= "=") (cast_expression "(int)uVar49" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar49"))) (; ";")) (if_statement "if (pbVar7 != (byte *)0x0) {\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(pbVar7 != (byte *)0x0)" (( "(") (binary_expression "pbVar7 != (byte *)0x0" (identifier "pbVar7") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                in_t4 = (code *)(uint)*pbVar7;\n                in_t2 = (code *)(uint)bStack_157;\n                in_t3 = (code *)(uint)bStack_156;\n                pcVar48 = (code *)(uint)bStack_155;\n                pcVar27 = in_t4;\n                iVar39 = 0;\n                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }\n                pcVar31 = (code *)(pbVar7 + iVar29);\n                iVar39 = iVar29;\n                uVar49 = CONCAT44(pcStack_1a4,iVar32);\n                if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }\n              }" ({ "{") (expression_statement "in_t4 = (code *)(uint)*pbVar7;" (assignment_expression "in_t4 = (code *)(uint)*pbVar7" (identifier "in_t4") (= "=") (binary_expression "(code *)(uint)*pbVar7" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "in_t2 = (code *)(uint)bStack_157;" (assignment_expression "in_t2 = (code *)(uint)bStack_157" (identifier "in_t2") (= "=") (cast_expression "(code *)(uint)bStack_157" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bStack_157" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_157")))) (; ";")) (expression_statement "in_t3 = (code *)(uint)bStack_156;" (assignment_expression "in_t3 = (code *)(uint)bStack_156" (identifier "in_t3") (= "=") (cast_expression "(code *)(uint)bStack_156" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bStack_156" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_156")))) (; ";")) (expression_statement "pcVar48 = (code *)(uint)bStack_155;" (assignment_expression "pcVar48 = (code *)(uint)bStack_155" (identifier "pcVar48") (= "=") (cast_expression "(code *)(uint)bStack_155" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bStack_155" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_155")))) (; ";")) (expression_statement "pcVar27 = in_t4;" (assignment_expression "pcVar27 = in_t4" (identifier "pcVar27") (= "=") (identifier "in_t4")) (; ";")) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" (identifier "iVar39") (= "=") (number_literal "0")) (; ";")) (while_statement "while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" (while "while") (parenthesized_expression "((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)))" (( "(") (parenthesized_expression "(((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))" (( "(") (binary_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&\n                       (iVar32 = iVar29 + 1, in_t3 != pcVar27)" (parenthesized_expression "((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27))" (( "(") (binary_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)" (parenthesized_expression "(iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27))" (( "(") (comma_expression "iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "iVar29 = iVar39" (identifier "iVar29") (= "=") (identifier "iVar39")) (, ",") (comma_expression "pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (assignment_expression "pcVar42 = pcVar48" (identifier "pcVar42") (= "=") (identifier "pcVar48")) (, ",") (binary_expression "pcVar27 != (code *)0x0 &&\n                         ((code *)(uint)bStack_158 != pcVar27)" (binary_expression "pcVar27 != (code *)0x0" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "((code *)(uint)bStack_158 != pcVar27)" (( "(") (binary_expression "(code *)(uint)bStack_158 != pcVar27" (cast_expression "(code *)(uint)bStack_158" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bStack_158" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_158"))) (!= "!=") (identifier "pcVar27")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(in_t2 != pcVar27)" (( "(") (binary_expression "in_t2 != pcVar27" (identifier "in_t2") (!= "!=") (identifier "pcVar27")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar32 = iVar29 + 1, in_t3 != pcVar27)" (( "(") (comma_expression "iVar32 = iVar29 + 1, in_t3 != pcVar27" (assignment_expression "iVar32 = iVar29 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (, ",") (binary_expression "in_t3 != pcVar27" (identifier "in_t3") (!= "!=") (identifier "pcVar27"))) () ")"))) () ")")) () ")")) (compound_statement "{\n                  pcVar31 = (code *)(pbVar7 + iVar32);\n                  bVar45 = pcVar48 == pcVar27;\n                  pcVar27 = (code *)(uint)(byte)*pcVar31;\n                  iVar39 = iVar32;\n                  if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }\n                }" ({ "{") (expression_statement "pcVar31 = (code *)(pbVar7 + iVar32);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar32)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(pbVar7 + iVar32)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar7 + iVar32)" (( "(") (binary_expression "pbVar7 + iVar32" (identifier "pbVar7") (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (expression_statement "bVar45 = pcVar48 == pcVar27;" (assignment_expression "bVar45 = pcVar48 == pcVar27" (identifier "bVar45") (= "=") (binary_expression "pcVar48 == pcVar27" (identifier "pcVar48") (== "==") (identifier "pcVar27"))) (; ";")) (expression_statement "pcVar27 = (code *)(uint)(byte)*pcVar31;" (assignment_expression "pcVar27 = (code *)(uint)(byte)*pcVar31" (identifier "pcVar27") (= "=") (binary_expression "(code *)(uint)(byte)*pcVar31" (cast_expression "(code *)(uint)(byte)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (identifier "pcVar31"))) (; ";")) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" (identifier "iVar39") (= "=") (identifier "iVar32")) (; ";")) (if_statement "if (bVar45) {\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" (if "if") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (compound_statement "{\n                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;\n                    iVar32 = iVar29 + 2;\n                    pcVar27 = (code *)(uint)pbVar7[iVar32];\n                    iVar39 = iVar32;\n                  }" ({ "{") (if_statement "if (pcVar27 == (code *)0x0) goto LAB_000c51d0;" (if "if") (parenthesized_expression "(pcVar27 == (code *)0x0)" (( "(") (binary_expression "pcVar27 == (code *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c51d0;" (goto "goto") (statement_identifier "LAB_000c51d0") (; ";"))) (expression_statement "iVar32 = iVar29 + 2;" (assignment_expression "iVar32 = iVar29 + 2" (identifier "iVar32") (= "=") (binary_expression "iVar29 + 2" (identifier "iVar29") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pcVar27 = (code *)(uint)pbVar7[iVar32];" (assignment_expression "pcVar27 = (code *)(uint)pbVar7[iVar32]" (identifier "pcVar27") (= "=") (cast_expression "(code *)(uint)pbVar7[iVar32]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)pbVar7[iVar32]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[iVar32]" (identifier "pbVar7") ([ "[") (identifier "iVar32") (] "]"))))) (; ";")) (expression_statement "iVar39 = iVar32;" (assignment_expression "iVar39 = iVar32" (identifier "iVar39") (= "=") (identifier "iVar32")) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar31 = (code *)(pbVar7 + iVar29);" (assignment_expression "pcVar31 = (code *)(pbVar7 + iVar29)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(pbVar7 + iVar29)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar7 + iVar29)" (( "(") (binary_expression "pbVar7 + iVar29" (identifier "pbVar7") (+ "+") (identifier "iVar29")) () ")")))) (; ";")) (expression_statement "iVar39 = iVar29;" (assignment_expression "iVar39 = iVar29" (identifier "iVar39") (= "=") (identifier "iVar29")) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar32)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar32)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (; ";")) (if_statement "if (iVar29 != 0) {\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);\n                  uVar49 = CONCAT44(pcStack_1a4,iVar39);\n                  if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }\n                }" ({ "{") (labeled_statement "LAB_000c51d0:\n                  uVar50 = CONCAT44(pcVar35,iVar39);" (statement_identifier "LAB_000c51d0") (: ":") (expression_statement "uVar50 = CONCAT44(pcVar35,iVar39);" (assignment_expression "uVar50 = CONCAT44(pcVar35,iVar39)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(pcVar35,iVar39)" (identifier "CONCAT44") (argument_list "(pcVar35,iVar39)" (( "(") (identifier "pcVar35") (, ",") (identifier "iVar39") () ")")))) (; ";"))) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar39);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar39)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar39)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar39") () ")")))) (; ";")) (if_statement "if ((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" (if "if") (parenthesized_expression "((pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))))" (( "(") (binary_expression "(pcVar31[-1] != (code)0xff) &&\n                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" (parenthesized_expression "(pcVar31[-1] != (code)0xff)" (( "(") (binary_expression "pcVar31[-1] != (code)0xff" (subscript_expression "pcVar31[-1]" (identifier "pcVar31") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (cast_expression "(code)0xff" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xff"))) () ")")) (&& "&&") (parenthesized_expression "((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))" (( "(") (parenthesized_expression "(iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4))" (( "(") (binary_expression "iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" (binary_expression "iVar39 != 1" (identifier "iVar39") (!= "!=") (number_literal "1")) (|| "||") (parenthesized_expression "(uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)" (( "(") (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar39)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar39)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar39)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar39") () ")")))) (, ",") (binary_expression "pcVar48 != in_t4" (identifier "pcVar48") (!= "!=") (identifier "in_t4"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }\n                    pcVar36 = pcVar35;\n                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);\n                    pcStack_188 = pcVar48;\n                    if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }\n                    if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }\n                    iVar39 = *(int *)(puVar47 + 0x96c38);\n                    if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }\n                    pcStack_190 = (code *)(iVar29 + 0x4ac8);\n                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);\n                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);\n                    if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }\n                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);\n                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);\n                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                    uVar53 = CONCAT44(pcVar36,pcVar42);\n                    if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }\n                    goto LAB_000c55a8;\n                  }" ({ "{") (if_statement "if ((code *)(uint)bStack_158 == pcVar27) {\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }\n                    else {\n                      pcStack_18c = (code *)0x0;\n                    }" (if "if") (parenthesized_expression "((code *)(uint)bStack_158 == pcVar27)" (( "(") (binary_expression "(code *)(uint)bStack_158 == pcVar27" (cast_expression "(code *)(uint)bStack_158" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bStack_158" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_158"))) (== "==") (identifier "pcVar27")) () ")")) (compound_statement "{\n                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);\n                    }" ({ "{") (expression_statement "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);" (assignment_expression "pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0)" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)(uint)(pcVar31[1] == (code)0x0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(pcVar31[1] == (code)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar31[1] == (code)0x0)" (( "(") (binary_expression "pcVar31[1] == (code)0x0" (subscript_expression "pcVar31[1]" (identifier "pcVar31") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                      pcStack_18c = (code *)0x0;\n                    }" (else "else") (compound_statement "{\n                      pcStack_18c = (code *)0x0;\n                    }" ({ "{") (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (; ";")) (expression_statement "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7);" (assignment_expression "param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" (identifier "param_5") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))\n                                                (pcVar38,0x6a,pbVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x19d0)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x19d0" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x19d0")) () ")")))) () ")")) (argument_list "(pcVar38,0x6a,pbVar7)" (( "(") (identifier "pcVar38") (, ",") (number_literal "0x6a") (, ",") (identifier "pbVar7") () ")"))))) (; ";")) (expression_statement "pcStack_188 = pcVar48;" (assignment_expression "pcStack_188 = pcVar48" (identifier "pcStack_188") (= "=") (identifier "pcVar48")) (; ";")) (if_statement "if (param_5 == (code *)0x0) {\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }\n                    else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" (if "if") (parenthesized_expression "(param_5 == (code *)0x0)" (( "(") (binary_expression "param_5 == (code *)0x0" (identifier "param_5") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }\n                    }" ({ "{") (if_statement "if (cVar16 == -0x70) {\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }\n                      else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" (if "if") (parenthesized_expression "(cVar16 == -0x70)" (( "(") (binary_expression "cVar16 == -0x70" (identifier "cVar16") (== "==") (number_literal "-0x70")) () ")")) (compound_statement "{\nLAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);\n                        if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }\n                        piVar41[0x34] = uVar13;\n                        iVar32 = *(int *)(puVar47 + 0x96c10);\n                        pcVar35 = pcVar36;\n                        if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(iVar32 + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                        pcVar36 = pcVar35;\n                        if (param_5 != (code *)0x0) goto LAB_000c52d0;\n                      }" ({ "{") (labeled_statement "LAB_000c6c34:\n                        piVar41 = *(int **)(pcVar17 + 8);" (statement_identifier "LAB_000c6c34") (: ":") (expression_statement "piVar41 = *(int **)(pcVar17 + 8);" (assignment_expression "piVar41 = *(int **)(pcVar17 + 8)" (identifier "piVar41") (= "=") (pointer_expression "*(int **)(pcVar17 + 8)" (* "*") (cast_expression "(int **)(pcVar17 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 8)" (( "(") (binary_expression "pcVar17 + 8" (identifier "pcVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if (*(int *)(pcVar40 + 0x20) < 0x20) {\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }\n                        else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" (if "if") (parenthesized_expression "(*(int *)(pcVar40 + 0x20) < 0x20)" (( "(") (binary_expression "*(int *)(pcVar40 + 0x20) < 0x20" (pointer_expression "*(int *)(pcVar40 + 0x20)" (* "*") (cast_expression "(int *)(pcVar40 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x20)" (( "(") (binary_expression "pcVar40 + 0x20" (identifier "pcVar40") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];\n                        }" ({ "{") (expression_statement "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];" (assignment_expression "uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" (identifier "uVar13") (= "=") (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34]" (binary_expression "1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(*(int *)(pcVar40 + 0x20) - 1U & 0x1f)" (( "(") (binary_expression "*(int *)(pcVar40 + 0x20) - 1U & 0x1f" (binary_expression "*(int *)(pcVar40 + 0x20) - 1U" (pointer_expression "*(int *)(pcVar40 + 0x20)" (* "*") (cast_expression "(int *)(pcVar40 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x20)" (( "(") (binary_expression "pcVar40 + 0x20" (identifier "pcVar40") (+ "+") (number_literal "0x20")) () ")")))) (- "-") (number_literal "1U")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (subscript_expression "piVar41[0x34]" (identifier "piVar41") ([ "[") (number_literal "0x34") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" (else "else") (compound_statement "{\n                          uVar13 = piVar41[0x34] | 0x80000000;\n                        }" ({ "{") (expression_statement "uVar13 = piVar41[0x34] | 0x80000000;" (assignment_expression "uVar13 = piVar41[0x34] | 0x80000000" (identifier "uVar13") (= "=") (binary_expression "piVar41[0x34] | 0x80000000" (subscript_expression "piVar41[0x34]" (identifier "piVar41") ([ "[") (number_literal "0x34") (] "]")) (| "|") (number_literal "0x80000000"))) (; ";")) (} "}")))) (expression_statement "piVar41[0x34] = uVar13;" (assignment_expression "piVar41[0x34] = uVar13" (subscript_expression "piVar41[0x34]" (identifier "piVar41") ([ "[") (number_literal "0x34") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")"))))) (; ";")) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" (identifier "pcVar35") (= "=") (identifier "pcVar36")) (; ";")) (if_statement "if ((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" (if "if") (parenthesized_expression "((pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'))" (( "(") (binary_expression "(pcStack_18c != (code *)0x0) &&\n                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" (parenthesized_expression "(pcStack_18c != (code *)0x0)" (( "(") (binary_expression "pcStack_18c != (code *)0x0" (identifier "pcStack_18c") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0'" (pointer_expression "*(char *)(*(int *)(pcVar40 + 8) + 1)" (* "*") (cast_expression "(char *)(*(int *)(pcVar40 + 8) + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar40 + 8) + 1)" (( "(") (binary_expression "*(int *)(pcVar40 + 8) + 1" (pointer_expression "*(int *)(pcVar40 + 8)" (* "*") (cast_expression "(int *)(pcVar40 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 8)" (( "(") (binary_expression "pcVar40 + 8" (identifier "pcVar40") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                          cVar15 = (code)((char)pcVar17[0x13] - 1);\n                          if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }\n                          FUN_000bea74(pcVar17,pcVar40,iVar32);\n                          if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }\n                          *(undefined4 *)(iVar39 + 0xc) = 0;\n                          if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }\n                          iVar32 = *(int *)(puVar47 + 0x96c10);\n                          pcVar35 = pcVar36;\n                        }" ({ "{") (expression_statement "cVar15 = (code)((char)pcVar17[0x13] - 1);" (assignment_expression "cVar15 = (code)((char)pcVar17[0x13] - 1)" (identifier "cVar15") (= "=") (call_expression "(code)((char)pcVar17[0x13] - 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcVar17[0x13] - 1)" (( "(") (binary_expression "(char)pcVar17[0x13] - 1" (cast_expression "(char)pcVar17[0x13]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcVar17[0x13]" (identifier "pcVar17") ([ "[") (number_literal "0x13") (] "]"))) (- "-") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (pcVar17[0x13] == (code)0x0) {\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }\n                          else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" (if "if") (parenthesized_expression "(pcVar17[0x13] == (code)0x0)" (( "(") (binary_expression "pcVar17[0x13] == (code)0x0" (subscript_expression "pcVar17[0x13]" (identifier "pcVar17") ([ "[") (number_literal "0x13") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;\n                            *(int *)(pcVar17 + 0x2c) = iVar32;\n                          }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar17 + 0x2c) + 1;" (assignment_expression "iVar32 = *(int *)(pcVar17 + 0x2c) + 1" (identifier "iVar32") (= "=") (binary_expression "*(int *)(pcVar17 + 0x2c) + 1" (pointer_expression "*(int *)(pcVar17 + 0x2c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2c)" (( "(") (binary_expression "pcVar17 + 0x2c" (identifier "pcVar17") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(pcVar17 + 0x2c) = iVar32;" (assignment_expression "*(int *)(pcVar17 + 0x2c) = iVar32" (pointer_expression "*(int *)(pcVar17 + 0x2c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x2c)" (( "(") (binary_expression "pcVar17 + 0x2c" (identifier "pcVar17") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "iVar32")) (; ";")) (} "}")) (else_clause "else {\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" (else "else") (compound_statement "{\n                            pcVar17[0x13] = cVar15;\n                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);\n                          }" ({ "{") (expression_statement "pcVar17[0x13] = cVar15;" (assignment_expression "pcVar17[0x13] = cVar15" (subscript_expression "pcVar17[0x13]" (identifier "pcVar17") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "cVar15")) (; ";")) (expression_statement "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);" (assignment_expression "iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" (* "*") (cast_expression "(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + ((byte)cVar15 + 0x24) * 4)" (( "(") (binary_expression "pcVar17 + ((byte)cVar15 + 0x24) * 4" (identifier "pcVar17") (+ "+") (binary_expression "((byte)cVar15 + 0x24) * 4" (parenthesized_expression "((byte)cVar15 + 0x24)" (( "(") (binary_expression "(byte)cVar15 + 0x24" (cast_expression "(byte)cVar15" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar15")) (+ "+") (number_literal "0x24")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "FUN_000bea74(pcVar17,pcVar40,iVar32);" (call_expression "FUN_000bea74(pcVar17,pcVar40,iVar32)" (identifier "FUN_000bea74") (argument_list "(pcVar17,pcVar40,iVar32)" (( "(") (identifier "pcVar17") (, ",") (identifier "pcVar40") (, ",") (identifier "iVar32") () ")"))) (; ";")) (if_statement "if (*(char *)(*piVar41 + 0x51) == '\0') {\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }\n                          else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" (if "if") (parenthesized_expression "(*(char *)(*piVar41 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*piVar41 + 0x51) == '\0'" (pointer_expression "*(char *)(*piVar41 + 0x51)" (* "*") (cast_expression "(char *)(*piVar41 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar41 + 0x51)" (( "(") (binary_expression "*piVar41 + 0x51" (pointer_expression "*piVar41" (* "*") (identifier "piVar41")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];\n                          }" ({ "{") (expression_statement "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];" (assignment_expression "iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" (identifier "iVar39") (= "=") (binary_expression "(piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a]" (binary_expression "(piVar41[0x1b] + -1) * 0x14" (parenthesized_expression "(piVar41[0x1b] + -1)" (( "(") (binary_expression "piVar41[0x1b] + -1" (subscript_expression "piVar41[0x1b]" (identifier "piVar41") ([ "[") (number_literal "0x1b") (] "]")) (+ "+") (number_literal "-1")) () ")")) (* "*") (number_literal "0x14")) (+ "+") (subscript_expression "piVar41[0x1a]" (identifier "piVar41") ([ "[") (number_literal "0x1a") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" (else "else") (compound_statement "{\n                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;\n                          }" ({ "{") (expression_statement "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514" (identifier "iVar39") (= "=") (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x4514" (pointer_expression "*(int *)(puVar47 + 0x96b10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b10)" (( "(") (binary_expression "puVar47 + 0x96b10" (identifier "puVar47") (+ "+") (number_literal "0x96b10")) () ")")))) (+ "+") (number_literal "-0x4514"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(iVar39 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar39 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar39 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xc)" (( "(") (binary_expression "iVar39 + 0xc" (identifier "iVar39") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar32 != 0) {\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);\n                          }" ({ "{") (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + -0x7cb0)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96bf8) + -0x7cb0" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bf8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bf8)" (( "(") (binary_expression "puVar47 + 0x96bf8" (identifier "puVar47") (+ "+") (number_literal "0x96bf8")) () ")")))) (+ "+") (number_literal "-0x7cb0")) () ")")))) () ")")) (argument_list "(pcVar17,iVar32)" (( "(") (identifier "pcVar17") (, ",") (identifier "iVar32") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c10);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c10)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")"))))) (; ";")) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" (identifier "pcVar35") (= "=") (identifier "pcVar36")) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)(iVar32 + -0x4bcc))(param_1);" (call_expression "(*(code *)(iVar32 + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(iVar32 + -0x4bcc))" (( "(") (pointer_expression "*(code *)(iVar32 + -0x4bcc)" (* "*") (cast_expression "(code *)(iVar32 + -0x4bcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x4bcc)" (( "(") (binary_expression "iVar32 + -0x4bcc" (identifier "iVar32") (+ "+") (number_literal "-0x4bcc")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" (identifier "pcStack_1a4") (= "=") (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" (* "*") (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (; ";")) (if_statement "if (param_5 != (code *)0x0) goto LAB_000c52d0;" (if "if") (parenthesized_expression "(param_5 != (code *)0x0)" (( "(") (binary_expression "param_5 != (code *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c52d0;" (goto "goto") (statement_identifier "LAB_000c52d0") (; ";"))) (} "}")) (else_clause "else {\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" (else "else") (compound_statement "{\n                        pcVar31 = (code *)0x0;\n                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\n                      }" ({ "{") (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x4bcc")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" (identifier "pcStack_1a4") (= "=") (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" (* "*") (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" (else "else") (compound_statement "{\n                      in_t2 = *(code **)(param_5 + 8);\n                      iVar29 = 0;\n                      in_t2[iVar39] = (code)0x0;\n                      iVar32 = 0;\n                      do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      *in_t3 = (code)0x0;\n                      cVar15 = *in_t2;\n                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);\n                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }\nLAB_000c52ac:\n                      pcVar36 = pcVar35;\n                      if (cVar16 == -0x70) goto LAB_000c6c34;\n                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);\n                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);\nLAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);\n                      pcVar36 = pcVar35;\n                    }" ({ "{") (expression_statement "in_t2 = *(code **)(param_5 + 8);" (assignment_expression "in_t2 = *(code **)(param_5 + 8)" (identifier "in_t2") (= "=") (pointer_expression "*(code **)(param_5 + 8)" (* "*") (cast_expression "(code **)(param_5 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 8)" (( "(") (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "in_t2[iVar39] = (code)0x0;" (assignment_expression "in_t2[iVar39] = (code)0x0" (subscript_expression "in_t2[iVar39]" (identifier "in_t2") ([ "[") (identifier "iVar39") (] "]")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      } while (iVar19 < iVar39);" (do "do") (compound_statement "{\n                        cVar15 = in_t2[iVar32];\n                        iVar19 = iVar32 + 1;\n                        if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }\n                        iVar29 = iVar29 + 1;\n                        in_t3 = in_t2 + iVar29;\n                        in_t3[-1] = cVar15;\n                        iVar32 = iVar19;\n                      }" ({ "{") (expression_statement "cVar15 = in_t2[iVar32];" (assignment_expression "cVar15 = in_t2[iVar32]" (identifier "cVar15") (= "=") (subscript_expression "in_t2[iVar32]" (identifier "in_t2") ([ "[") (identifier "iVar32") (] "]"))) (; ";")) (expression_statement "iVar19 = iVar32 + 1;" (assignment_expression "iVar19 = iVar32 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((code *)(int)(char)cVar15 == pcVar48) {\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" (if "if") (parenthesized_expression "((code *)(int)(char)cVar15 == pcVar48)" (( "(") (binary_expression "(code *)(int)(char)cVar15 == pcVar48" (cast_expression "(code *)(int)(char)cVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)cVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)cVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "cVar15")))) (== "==") (identifier "pcVar48")) () ")")) (compound_statement "{\n                          pcVar31 = in_t2 + iVar19;\n                          iVar19 = iVar32 + 2;\n                          cVar15 = *pcVar31;\n                        }" ({ "{") (expression_statement "pcVar31 = in_t2 + iVar19;" (assignment_expression "pcVar31 = in_t2 + iVar19" (identifier "pcVar31") (= "=") (binary_expression "in_t2 + iVar19" (identifier "in_t2") (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar19 = iVar32 + 2;" (assignment_expression "iVar19 = iVar32 + 2" (identifier "iVar19") (= "=") (binary_expression "iVar32 + 2" (identifier "iVar32") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar15 = *pcVar31;" (assignment_expression "cVar15 = *pcVar31" (identifier "cVar15") (= "=") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31"))) (; ";")) (} "}"))) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" (identifier "iVar29") (= "=") (binary_expression "iVar29 + 1" (identifier "iVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "in_t3 = in_t2 + iVar29;" (assignment_expression "in_t3 = in_t2 + iVar29" (identifier "in_t3") (= "=") (binary_expression "in_t2 + iVar29" (identifier "in_t2") (+ "+") (identifier "iVar29"))) (; ";")) (expression_statement "in_t3[-1] = cVar15;" (assignment_expression "in_t3[-1] = cVar15" (subscript_expression "in_t3[-1]" (identifier "in_t3") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "cVar15")) (; ";")) (expression_statement "iVar32 = iVar19;" (assignment_expression "iVar32 = iVar19" (identifier "iVar32") (= "=") (identifier "iVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 < iVar39)" (( "(") (binary_expression "iVar19 < iVar39" (identifier "iVar19") (< "<") (identifier "iVar39")) () ")")) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (; ";")) (expression_statement "*in_t3 = (code)0x0;" (assignment_expression "*in_t3 = (code)0x0" (pointer_expression "*in_t3" (* "*") (identifier "in_t3")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "cVar15 = *in_t2;" (assignment_expression "cVar15 = *in_t2" (identifier "cVar15") (= "=") (pointer_expression "*in_t2" (* "*") (identifier "in_t2"))) (; ";")) (expression_statement "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x7b28 + (uint)(byte)cVar15)" (( "(") (binary_expression "iVar32 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7b28" (identifier "iVar32") (+ "+") (number_literal "-0x7b28")) (+ "+") (cast_expression "(uint)(byte)cVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar15" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar15")))) () ")")))) (; ";")) (if_statement "if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" (if "if") (parenthesized_expression "(((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))))" (( "(") (binary_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||\n                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" (parenthesized_expression "((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d))" (( "(") (binary_expression "(((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)" (parenthesized_expression "(((byte)*pcVar31 & 4) != 0)" (( "(") (binary_expression "((byte)*pcVar31 & 4) != 0" (parenthesized_expression "((byte)*pcVar31 & 4)" (( "(") (binary_expression "(byte)*pcVar31 & 4" (binary_expression "(byte)*pcVar31" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar31")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar15 == (code)0x2d)" (( "(") (binary_expression "cVar15 == (code)0x2d" (identifier "cVar15") (== "==") (cast_expression "(code)0x2d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2d"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))" (( "(") (parenthesized_expression "(pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1))" (( "(") (comma_expression "pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)" (assignment_expression "pcVar42 = pcVar48" (identifier "pcVar42") (= "=") (identifier "pcVar48")) (, ",") (binary_expression "cVar15 == (code)0x2f && (iVar29 == 1)" (binary_expression "cVar15 == (code)0x2f" (identifier "cVar15") (== "==") (cast_expression "(code)0x2f" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2f"))) (&& "&&") (parenthesized_expression "(iVar29 == 1)" (( "(") (binary_expression "iVar29 == 1" (identifier "iVar29") (== "==") (number_literal "1")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        pcVar42 = pcVar48;\n                        pcVar36 = pcVar35;\n                        if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }\n                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);\n                        pcVar35 = pcVar36;\n                        uVar49 = uVar50;\n                        goto LAB_000c6178;\n                      }" ({ "{") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bf8)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bf8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bf8)" (( "(") (binary_expression "puVar47 + 0x96bf8" (identifier "puVar47") (+ "+") (number_literal "0x96bf8")) () ")"))))) (; ";")) (expression_statement "pcVar42 = pcVar48;" (assignment_expression "pcVar42 = pcVar48" (identifier "pcVar42") (= "=") (identifier "pcVar48")) (; ";")) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (; ";")) (if_statement "if (*pcVar35 == -0x62) {\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" (if "if") (parenthesized_expression "(*pcVar35 == -0x62)" (( "(") (binary_expression "*pcVar35 == -0x62" (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35")) (== "==") (number_literal "-0x62")) () ")")) (compound_statement "{\n                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);\n                          if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;\n                          iVar32 = *(int *)(puVar47 + 0x96bf8);\n                        }" ({ "{") (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b94)" (( "(") (binary_expression "puVar47 + 0x96b94" (identifier "puVar47") (+ "+") (number_literal "0x96b94")) () ")")))) (+ "+") (number_literal "0x5914")) () ")")))) () ")")) (argument_list "(pcVar35)" (( "(") (identifier "pcVar35") () ")")))) (; ";")) (if_statement "if ((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))\n                          goto LAB_000c52ac;" (if "if") (parenthesized_expression "((iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))" (( "(") (binary_expression "(iVar32 == 0x42) &&\n                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" (parenthesized_expression "(iVar32 == 0x42)" (( "(") (binary_expression "iVar32 == 0x42" (identifier "iVar32") (== "==") (number_literal "0x42")) () ")")) (&& "&&") (parenthesized_expression "(pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0)" (( "(") (comma_expression "pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (, ",") (binary_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0" (pointer_expression "*(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(pcVar35 + 0x30) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar35 + 0x30) + 0x38)" (( "(") (binary_expression "*(int *)(pcVar35 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar35 + 0x30)" (* "*") (cast_expression "(int *)(pcVar35 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar35 + 0x30)" (( "(") (binary_expression "pcVar35 + 0x30" (identifier "pcVar35") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000c52ac;" (goto "goto") (statement_identifier "LAB_000c52ac") (; ";"))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bf8);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bf8)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bf8)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bf8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bf8)" (( "(") (binary_expression "puVar47 + 0x96bf8" (identifier "puVar47") (+ "+") (number_literal "0x96bf8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);" (call_expression "(*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5)" (parenthesized_expression "(*(code *)(iVar32 + 0x7bc4))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x7bc4)" (* "*") (cast_expression "(code *)(iVar32 + 0x7bc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x7bc4)" (( "(") (binary_expression "iVar32 + 0x7bc4" (identifier "iVar32") (+ "+") (number_literal "0x7bc4")) () ")")))) () ")")) (argument_list "(pcVar38,param_5)" (( "(") (identifier "pcVar38") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "pcVar35 = pcVar36;" (assignment_expression "pcVar35 = pcVar36" (identifier "pcVar35") (= "=") (identifier "pcVar36")) (; ";")) (expression_statement "uVar49 = uVar50;" (assignment_expression "uVar49 = uVar50" (identifier "uVar49") (= "=") (identifier "uVar50")) (; ";")) (goto_statement "goto LAB_000c6178;" (goto "goto") (statement_identifier "LAB_000c6178") (; ";")) (} "}"))) (labeled_statement "LAB_000c52ac:\n                      pcVar36 = pcVar35;" (statement_identifier "LAB_000c52ac") (: ":") (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (; ";"))) (if_statement "if (cVar16 == -0x70) goto LAB_000c6c34;" (if "if") (parenthesized_expression "(cVar16 == -0x70)" (( "(") (binary_expression "cVar16 == -0x70" (identifier "cVar16") (== "==") (number_literal "-0x70")) () ")")) (goto_statement "goto LAB_000c6c34;" (goto "goto") (statement_identifier "LAB_000c6c34") (; ";"))) (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x4bcc")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);" (assignment_expression "pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18)" (identifier "pcStack_1a4") (= "=") (pointer_expression "*(code **)(*(int *)(param_4 + 0x14) + 0x18)" (* "*") (cast_expression "(code **)(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x18)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) + 0x18" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (labeled_statement "LAB_000c52d0:\n                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" (statement_identifier "LAB_000c52d0") (: ":") (expression_statement "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0);" (assignment_expression "pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))\n                                                  (pcVar6,param_5,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,param_5,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "param_5") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";"))) (expression_statement "pcVar36 = pcVar35;" (assignment_expression "pcVar36 = pcVar35" (identifier "pcVar36") (= "=") (identifier "pcVar35")) (; ";")) (} "}")))) (if_statement "if (((uint)pcStack_190 & 8) == 0) {\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }\n                    else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" (if "if") (parenthesized_expression "(((uint)pcStack_190 & 8) == 0)" (( "(") (binary_expression "((uint)pcStack_190 & 8) == 0" (parenthesized_expression "((uint)pcStack_190 & 8)" (( "(") (binary_expression "(uint)pcStack_190 & 8" (cast_expression "(uint)pcStack_190" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_190")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }\n                    }" ({ "{") (if_statement "if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)pcVar17 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)pcVar17 + 0x51) == '\0'" (pointer_expression "*(char *)(*(int *)pcVar17 + 0x51)" (* "*") (cast_expression "(char *)(*(int *)pcVar17 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar17 + 0x51)" (( "(") (binary_expression "*(int *)pcVar17 + 0x51" (pointer_expression "*(int *)pcVar17" (* "*") (cast_expression "(int *)pcVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar17"))) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;\n                        pcVar27 = *(code **)(param_5 + 8);\n                        cVar15 = *pcVar27;\n                        if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }\n                      }" ({ "{") (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar46 + 10) | 0x400" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x400"))) (; ";")) (expression_statement "pcVar27 = *(code **)(param_5 + 8);" (assignment_expression "pcVar27 = *(code **)(param_5 + 8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(param_5 + 8)" (* "*") (cast_expression "(code **)(param_5 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 8)" (( "(") (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" (identifier "cVar15") (= "=") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27"))) (; ";")) (if_statement "if (cVar15 != (code)0x0) {\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" (if "if") (parenthesized_expression "(cVar15 != (code)0x0)" (( "(") (binary_expression "cVar15 != (code)0x0" (identifier "cVar15") (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                          iVar39 = *(int *)(puVar47 + 0x96bcc);\n                          in_t2 = (code *)0x0;\n                          iVar32 = *(int *)(puVar47 + 0x96bcc);\n                          do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);\n                        }" ({ "{") (expression_statement "iVar39 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96bcc)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (; ";")) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" (identifier "in_t2") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (; ";")) (do_statement "do {\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          } while (cVar15 != (code)0x0);" (do "do") (compound_statement "{\n                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);\n                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);\n                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));\n                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);\n                            in_t2 = in_t2 + 1;\n                            *pcVar27 = cVar24;\n                            pcVar27 = in_t2 + *(int *)(param_5 + 8);\n                            cVar15 = *pcVar27;\n                          }" ({ "{") (expression_statement "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);" (assignment_expression "pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" (identifier "pcVar42") (= "=") (cast_expression "(code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x7b28 + (uint)(byte)cVar15)" (( "(") (binary_expression "iVar39 + -0x7b28 + (uint)(byte)cVar15" (binary_expression "iVar39 + -0x7b28" (identifier "iVar39") (+ "+") (number_literal "-0x7b28")) (+ "+") (cast_expression "(uint)(byte)cVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar15" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar15")))) () ")")))) (; ";")) (expression_statement "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);" (assignment_expression "cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" (identifier "cVar24") (= "=") (pointer_expression "*(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" (* "*") (cast_expression "(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + -0x7a28 + (uint)(byte)cVar15)" (( "(") (binary_expression "iVar32 + -0x7a28 + (uint)(byte)cVar15" (binary_expression "iVar32 + -0x7a28" (identifier "iVar32") (+ "+") (number_literal "-0x7a28")) (+ "+") (cast_expression "(uint)(byte)cVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar15" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar15")))) () ")"))))) (; ";")) (expression_statement "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));" (assignment_expression "*pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (= "=") (call_expression "(code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((byte)cVar15 & ~((byte)*pcVar42 & 0x20))" (( "(") (binary_expression "(byte)cVar15 & ~((byte)*pcVar42 & 0x20)" (cast_expression "(byte)cVar15" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar15")) (& "&") (unary_expression "~((byte)*pcVar42 & 0x20)" (~ "~") (parenthesized_expression "((byte)*pcVar42 & 0x20)" (( "(") (binary_expression "(byte)*pcVar42 & 0x20" (binary_expression "(byte)*pcVar42" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar42")) (& "&") (number_literal "0x20")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar27 = in_t2 + *(int *)(pcVar31 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(pcVar31 + 8)" (identifier "pcVar27") (= "=") (binary_expression "in_t2 + *(int *)(pcVar31 + 8)" (identifier "in_t2") (+ "+") (pointer_expression "*(int *)(pcVar31 + 8)" (* "*") (cast_expression "(int *)(pcVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 8)" (( "(") (binary_expression "pcVar31 + 8" (identifier "pcVar31") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "in_t2 = in_t2 + 1;" (assignment_expression "in_t2 = in_t2 + 1" (identifier "in_t2") (= "=") (binary_expression "in_t2 + 1" (identifier "in_t2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar27 = cVar24;" (assignment_expression "*pcVar27 = cVar24" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (= "=") (identifier "cVar24")) (; ";")) (expression_statement "pcVar27 = in_t2 + *(int *)(param_5 + 8);" (assignment_expression "pcVar27 = in_t2 + *(int *)(param_5 + 8)" (identifier "pcVar27") (= "=") (binary_expression "in_t2 + *(int *)(param_5 + 8)" (identifier "in_t2") (+ "+") (pointer_expression "*(int *)(param_5 + 8)" (* "*") (cast_expression "(int *)(param_5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 8)" (( "(") (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "cVar15 = *pcVar27;" (assignment_expression "cVar15 = *pcVar27" (identifier "cVar15") (= "=") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar15 != (code)0x0)" (( "(") (binary_expression "cVar15 != (code)0x0" (identifier "cVar15") (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }\n                      else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" (if "if") (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" (( "(") (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" (identifier "pcVar6") ([ "[") (number_literal "0x51") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }\n                        if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;\n                      }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar31 + 8)" (* "*") (cast_expression "(int *)(pcVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 8)" (( "(") (binary_expression "pcVar31 + 8" (identifier "pcVar31") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar32 == 0) {\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          bVar2 = *(byte *)(in_zero + -1);\n                          pbVar7 = (byte *)0xffffffff;\n                        }" ({ "{") (expression_statement "bVar2 = *(byte *)(in_zero + -1);" (assignment_expression "bVar2 = *(byte *)(in_zero + -1)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(in_zero + -1)" (* "*") (cast_expression "(byte *)(in_zero + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_zero + -1)" (( "(") (binary_expression "in_zero + -1" (identifier "in_zero") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "pbVar7 = (byte *)0xffffffff;" (assignment_expression "pbVar7 = (byte *)0xffffffff" (identifier "pbVar7") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" (else "else") (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          bVar2 = *pbVar7;\n                        }" ({ "{") (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" (( "(") (pointer_expression "**(code **)(puVar47 + 0x96efc)" (* "*") (pointer_expression "*(code **)(puVar47 + 0x96efc)" (* "*") (cast_expression "(code **)(puVar47 + 0x96efc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96efc)" (( "(") (binary_expression "puVar47 + 0x96efc" (identifier "puVar47") (+ "+") (number_literal "0x96efc")) () ")"))))) () ")")) (argument_list "(iVar32)" (( "(") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (identifier "pbVar7") (= "=") (cast_expression "(byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (( "(") (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" (identifier "iVar32") (+ "+") (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" (( "(") (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" (( "(") (binary_expression "uVar13 & 0x3fffffff" (identifier "uVar13") (& "&") (number_literal "0x3fffffff")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "bVar2 = *pbVar7;" (assignment_expression "bVar2 = *pbVar7" (identifier "bVar2") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (} "}")))) (if_statement "if (bVar2 == 0x40) {\n                          pcStack_18c = (code *)0x0;\n                        }" (if "if") (parenthesized_expression "(bVar2 == 0x40)" (( "(") (binary_expression "bVar2 == 0x40" (identifier "bVar2") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n                          pcStack_18c = (code *)0x0;\n                        }" ({ "{") (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" (identifier "iVar32") (= "=") (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b34)" (( "(") (binary_expression "puVar47 + 0x96b34" (identifier "puVar47") (+ "+") (number_literal "0x96b34")) () ")")))) (+ "+") (number_literal "-0x6e0c"))) (; ";")) (expression_statement "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1\n                        ;" (assignment_expression "*pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7")) (= "=") (binary_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1" (pointer_expression "*(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" (* "*") (cast_expression "(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28)" (( "(") (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28" (binary_expression "(uint)bVar2 + *(int *)(puVar47 + 0x96bcc)" (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")) (+ "+") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (+ "+") (number_literal "-0x7a28")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" (else "else") (compound_statement "{\n                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;\n                      }" ({ "{") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c" (identifier "iVar32") (= "=") (binary_expression "*(int *)(puVar47 + 0x96b34) + -0x6e0c" (pointer_expression "*(int *)(puVar47 + 0x96b34)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b34)" (( "(") (binary_expression "puVar47 + 0x96b34" (identifier "puVar47") (+ "+") (number_literal "0x96b34")) () ")")))) (+ "+") (number_literal "-0x6e0c"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" (else "else") (compound_statement "{\n                      iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }\n                      iVar32 = iVar32 + -0x7be0;\n                    }" ({ "{") (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (; ";")) (if_statement "if (pcVar6[0x51] == (code)0x0) {\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" (if "if") (parenthesized_expression "(pcVar6[0x51] == (code)0x0)" (( "(") (binary_expression "pcVar6[0x51] == (code)0x0" (subscript_expression "pcVar6[0x51]" (identifier "pcVar6") ([ "[") (number_literal "0x51") (] "]")) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        iVar32 = *(int *)(pcVar31 + 8);\n                        if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }\n                        iVar32 = *(int *)(puVar47 + 0x96bcc);\n                      }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar31 + 8);" (assignment_expression "iVar32 = *(int *)(pcVar31 + 8)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar31 + 8)" (* "*") (cast_expression "(int *)(pcVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 8)" (( "(") (binary_expression "pcVar31 + 8" (identifier "pcVar31") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar32 == 0) {\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }\n                        else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';\n                        }" ({ "{") (expression_statement "cRamffffffff = *(char *)(in_zero + -1) + '\x01';" (assignment_expression "cRamffffffff = *(char *)(in_zero + -1) + '\x01'" (identifier "cRamffffffff") (= "=") (binary_expression "*(char *)(in_zero + -1) + '\x01'" (pointer_expression "*(char *)(in_zero + -1)" (* "*") (cast_expression "(char *)(in_zero + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_zero + -1)" (( "(") (binary_expression "in_zero + -1" (identifier "in_zero") (+ "+") (number_literal "-1")) () ")")))) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) (; ";")) (} "}")) (else_clause "else {\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" (else "else") (compound_statement "{\n                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);\n                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));\n                          *pcVar40 = *pcVar40 + '\x01';\n                        }" ({ "{") (expression_statement "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);" (assignment_expression "uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(puVar47 + 0x96efc))(iVar32)" (parenthesized_expression "(**(code **)(puVar47 + 0x96efc))" (( "(") (pointer_expression "**(code **)(puVar47 + 0x96efc)" (* "*") (pointer_expression "*(code **)(puVar47 + 0x96efc)" (* "*") (cast_expression "(code **)(puVar47 + 0x96efc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96efc)" (( "(") (binary_expression "puVar47 + 0x96efc" (identifier "puVar47") (+ "+") (number_literal "0x96efc")) () ")"))))) () ")")) (argument_list "(iVar32)" (( "(") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));" (assignment_expression "pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (identifier "pcVar40") (= "=") (cast_expression "(char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + ((uVar13 & 0x3fffffff) - 1))" (( "(") (binary_expression "iVar32 + ((uVar13 & 0x3fffffff) - 1)" (identifier "iVar32") (+ "+") (parenthesized_expression "((uVar13 & 0x3fffffff) - 1)" (( "(") (binary_expression "(uVar13 & 0x3fffffff) - 1" (parenthesized_expression "(uVar13 & 0x3fffffff)" (( "(") (binary_expression "uVar13 & 0x3fffffff" (identifier "uVar13") (& "&") (number_literal "0x3fffffff")) () ")")) (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "*pcVar40 = *pcVar40 + '\x01';" (assignment_expression "*pcVar40 = *pcVar40 + '\x01'" (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) (= "=") (binary_expression "*pcVar40 + '\x01'" (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) (; ";")) (} "}")))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar32 = iVar32 + -0x7be0;" (assignment_expression "iVar32 = iVar32 + -0x7be0" (identifier "iVar32") (= "=") (binary_expression "iVar32 + -0x7be0" (identifier "iVar32") (+ "+") (number_literal "-0x7be0"))) (; ";")) (} "}")))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (if_statement "if (pcStack_1a4 == (code *)0x0) {\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }\n                    else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" (if "if") (parenthesized_expression "(pcStack_1a4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1a4 == (code *)0x0" (identifier "pcStack_1a4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,0,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar29 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                    }" ({ "{") (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" (identifier "param_1") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x4864")) () ")")))) (; ";")) (expression_statement "uVar8 = (*param_1)(pcVar17,0,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,0,iVar32)" (identifier "uVar8") (= "=") (call_expression "(*param_1)(pcVar17,0,iVar32)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(pcVar17,0,iVar32)" (( "(") (identifier "pcVar17") (, ",") (number_literal "0") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x26b4")) () ")")))) (; ";")) (expression_statement "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" (identifier "iVar39") (= "=") (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pcVar17,0x39,uVar8,param_5)" (( "(") (identifier "pcVar17") (, ",") (number_literal "0x39") (, ",") (identifier "uVar8") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (iVar39 == 0) {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }\n                      else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" (if "if") (parenthesized_expression "(iVar39 == 0)" (( "(") (binary_expression "iVar39 == 0" (identifier "iVar39") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        iVar39 = 0;\n                      }" ({ "{") (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" (identifier "iVar39") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" (else "else") (compound_statement "{\n                        iVar29 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" ({ "{") (expression_statement "iVar29 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar39 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar39 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x26)" (( "(") (binary_expression "iVar39 + 0x26" (identifier "iVar39") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(param_4 + 0x26)" (* "*") (cast_expression "(undefined2 *)(param_4 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar46 = (code *)(iVar29 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar29 + -0x73f4)" (identifier "pcVar46") (= "=") (cast_expression "(code *)(iVar29 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + -0x73f4)" (( "(") (binary_expression "iVar29 + -0x73f4" (identifier "iVar29") (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103)" (identifier "param_5") (= "=") (cast_expression "(code *)(*pcVar46)(pcVar22,iVar39,0x103)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar46)(pcVar22,iVar39,0x103)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(pcVar22,iVar39,0x103)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar39") (, ",") (number_literal "0x103") () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")"))))) (; ";")) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" (identifier "FUN_000c4ac8") (argument_list "(pcVar26,pcVar22,param_5)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "param_5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" (else "else") (compound_statement "{\n                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);\n                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);\n                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);\n                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);\n                      if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }\n                      pcVar46 = (code *)(iVar19 + -0x73f4);\n                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);\n                      iVar29 = *(int *)(puVar47 + 0x96dac);\n                      FUN_000c4ac8(pcVar26,pcVar22,param_5);\n                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);\n                    }" ({ "{") (expression_statement "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (identifier "uVar8") (= "=") (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x271c)" (* "*") (cast_expression "(code *)(iVar39 + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x271c)" (( "(") (binary_expression "iVar39 + -0x271c" (identifier "iVar39") (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,pcStack_1a4,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "pcStack_1a4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);" (assignment_expression "param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" (identifier "param_1") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x4864)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x4864)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x4864" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x4864")) () ")")))) (; ";")) (expression_statement "uVar8 = (*param_1)(pcVar17,uVar8,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,uVar8,iVar32)" (identifier "uVar8") (= "=") (call_expression "(*param_1)(pcVar17,uVar8,iVar32)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(pcVar17,uVar8,iVar32)" (( "(") (identifier "pcVar17") (, ",") (identifier "uVar8") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x26b4")) () ")")))) (; ";")) (expression_statement "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);" (assignment_expression "iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5)" (identifier "iVar29") (= "=") (call_expression "(*pcVar27)(pcVar17,0x39,uVar8,param_5)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pcVar17,0x39,uVar8,param_5)" (( "(") (identifier "pcVar17") (, ",") (number_literal "0x39") (, ",") (identifier "uVar8") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (iVar29 == 0) {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }\n                      else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" (if "if") (parenthesized_expression "(iVar29 == 0)" (( "(") (binary_expression "iVar29 == 0" (identifier "iVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        iVar29 = 0;\n                      }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" (identifier "iVar29") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" (else "else") (compound_statement "{\n                        iVar19 = *(int *)(puVar47 + 0x96c38);\n                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                      }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar19 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" (* "*") (cast_expression "(uint *)(iVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" (* "*") (cast_expression "(uint *)(iVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar29 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x26)" (( "(") (binary_expression "iVar29 + 0x26" (identifier "iVar29") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(param_4 + 0x26)" (* "*") (cast_expression "(undefined2 *)(param_4 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar46 = (code *)(iVar19 + -0x73f4);" (assignment_expression "pcVar46 = (code *)(iVar19 + -0x73f4)" (identifier "pcVar46") (= "=") (cast_expression "(code *)(iVar19 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + -0x73f4)" (( "(") (binary_expression "iVar19 + -0x73f4" (identifier "iVar19") (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (expression_statement "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);" (assignment_expression "param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103)" (identifier "param_5") (= "=") (cast_expression "(code *)(*pcVar46)(pcVar22,iVar29,0x103)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar46)(pcVar22,iVar29,0x103)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(pcVar22,iVar29,0x103)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar29") (, ",") (number_literal "0x103") () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(puVar47 + 0x96dac);" (assignment_expression "iVar29 = *(int *)(puVar47 + 0x96dac)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")"))))) (; ";")) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,param_5);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,param_5)" (identifier "FUN_000c4ac8") (argument_list "(pcVar26,pcVar22,param_5)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);" (assignment_expression "pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x271c)" (* "*") (cast_expression "(code *)(iVar39 + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x271c)" (( "(") (binary_expression "iVar39 + -0x271c" (identifier "iVar39") (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcVar6,pcStack_1a4,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "pcStack_1a4") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (} "}")))) (expression_statement "pcStack_190 = (code *)(iVar29 + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(iVar29 + 0x4ac8)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)(iVar29 + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x4ac8)" (( "(") (binary_expression "iVar29 + 0x4ac8" (identifier "iVar29") (+ "+") (number_literal "0x4ac8")) () ")")))) (; ";")) (expression_statement "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);" (assignment_expression "uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32)" (identifier "uVar8") (= "=") (call_expression "(*param_1)(pcVar17,pcStack_1a4,iVar32)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(pcVar17,pcStack_1a4,iVar32)" (( "(") (identifier "pcVar17") (, ",") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);" (assignment_expression "iVar32 = (*pcVar27)(pcVar17,0x38,uVar8)" (identifier "iVar32") (= "=") (call_expression "(*pcVar27)(pcVar17,0x38,uVar8)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pcVar17,0x38,uVar8)" (( "(") (identifier "pcVar17") (, ",") (number_literal "0x38") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (iVar32 != 0) {\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;\n                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n                    }" ({ "{") (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar32 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x26)" (( "(") (binary_expression "iVar32 + 0x26" (identifier "iVar32") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(param_4 + 0x26)" (* "*") (cast_expression "(undefined2 *)(param_4 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);" (assignment_expression "pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*pcVar46)(pcVar22,iVar32,0x103)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar46)(pcVar22,iVar32,0x103)" (parenthesized_expression "(*pcVar46)" (( "(") (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) () ")")) (argument_list "(pcVar22,iVar32,0x103)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar32") (, ",") (number_literal "0x103") () ")"))))) (; ";")) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,pcVar38);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,pcVar38)" (parenthesized_expression "(*pcStack_190)" (( "(") (pointer_expression "*pcStack_190" (* "*") (identifier "pcStack_190")) () ")")) (argument_list "(pcVar26,pcVar22,pcVar38)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "pcVar38") () ")"))) (; ";")) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcVar46") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,pcVar17)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,pcVar17)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "pcVar17") () ")")))) (; ";")) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar36,pcVar42)" (identifier "CONCAT44") (argument_list "(pcVar36,pcVar42)" (( "(") (identifier "pcVar36") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (if_statement "if (pcStack_18c != (code *)0x0) {\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" (if "if") (parenthesized_expression "(pcStack_18c != (code *)0x0)" (( "(") (binary_expression "pcStack_18c != (code *)0x0" (identifier "pcStack_18c") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;\n                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);\n                      uVar53 = CONCAT44(pcVar36,pcVar42);\n                    }" ({ "{") (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (* "*") (number_literal "0x30"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" (* "*") (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)param_5 * 0x30" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (* "*") (number_literal "0x30"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =\n                           pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar38")) (* "*") (number_literal "0x30"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =\n                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" (* "*") (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)pcVar38 * 0x30" (cast_expression "(int)pcVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar38")) (* "*") (number_literal "0x30"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar17);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar17)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,pcVar17)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,pcVar17)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "pcVar17") () ")")))) (; ";")) (expression_statement "uVar53 = CONCAT44(pcVar36,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar36,pcVar42)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar36,pcVar42)" (identifier "CONCAT44") (argument_list "(pcVar36,pcVar42)" (( "(") (identifier "pcVar36") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_000c55a8;" (goto "goto") (statement_identifier "LAB_000c55a8") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_000c6178:\n          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (statement_identifier "LAB_000c6178") (: ":") (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c10) + -0x4bcc)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c10) + -0x4bcc" (pointer_expression "*(int *)(puVar47 + 0x96c10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c10)" (( "(") (binary_expression "puVar47 + 0x96c10" (identifier "puVar47") (+ "+") (number_literal "0x96c10")) () ")")))) (+ "+") (number_literal "-0x4bcc")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "uVar53 = CONCAT44(pcVar35,pcVar42);" (assignment_expression "uVar53 = CONCAT44(pcVar35,pcVar42)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar35,pcVar42)" (identifier "CONCAT44") (argument_list "(pcVar35,pcVar42)" (( "(") (identifier "pcVar35") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" (identifier "cVar15") (= "=") (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" (if "if") (parenthesized_expression "(cVar15 != (code)0x2c)" (( "(") (binary_expression "cVar15 != (code)0x2c" (identifier "cVar15") (!= "!=") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) () ")")) (goto_statement "goto LAB_000c4d88;" (goto "goto") (statement_identifier "LAB_000c4d88") (; ";"))) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" (identifier "uVar13") (= "=") (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "param_4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar53 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar53")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar18 = (uint)uVar53;" (assignment_expression "uVar18 = (uint)uVar53" (identifier "uVar18") (= "=") (cast_expression "(uint)uVar53" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar53"))) (; ";")) (expression_statement "uVar51 = CONCAT44(param_1,param_5);" (assignment_expression "uVar51 = CONCAT44(param_1,param_5)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,param_5)" (identifier "CONCAT44") (argument_list "(param_1,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "cVar15 = (code)0x2c;" (assignment_expression "cVar15 = (code)0x2c" (identifier "cVar15") (= "=") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) (; ";")) (if_statement "if (uVar13 == 0x9d) {\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }\n    else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(uVar13 == 0x9d)" (( "(") (binary_expression "uVar13 == 0x9d" (identifier "uVar13") (== "==") (number_literal "0x9d")) () ")")) (compound_statement "{\n      pcVar38 = *(code **)(param_4 + 0x14);\n      uVar50 = uVar53;\n      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }\n    }" ({ "{") (expression_statement "pcVar38 = *(code **)(param_4 + 0x14);" (assignment_expression "pcVar38 = *(code **)(param_4 + 0x14)" (identifier "pcVar38") (= "=") (pointer_expression "*(code **)(param_4 + 0x14)" (* "*") (cast_expression "(code **)(param_4 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" (if "if") (parenthesized_expression "((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2))" (( "(") (binary_expression "(pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)" (parenthesized_expression "(pcVar38 != (code *)0x0)" (( "(") (binary_expression "pcVar38 != (code *)0x0" (identifier "pcVar38") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)pcVar38 == 2)" (( "(") (binary_expression "*(int *)pcVar38 == 2" (pointer_expression "*(int *)pcVar38" (* "*") (cast_expression "(int *)pcVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar38"))) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        pcVar42 = *(code **)(pcVar38 + 0x18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }\n        uVar53 = CONCAT44(uVar8,uVar18);\n        pcVar42 = *(code **)(pcVar38 + 4);\n        uVar50 = CONCAT44(uVar8,uVar18);\n        if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }\n      }" ({ "{") (expression_statement "pcVar42 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 0x18)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x18)" (* "*") (cast_expression "(code **)(pcVar38 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x18)" (( "(") (binary_expression "pcVar38 + 0x18" (identifier "pcVar38") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" (if "if") (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" (( "(") (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" (( "(") (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) (== "==") (cast_expression "(code)0x9e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x9e"))) () ")")) (&& "&&") (parenthesized_expression "(cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (( "(") (comma_expression "cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "cVar24 = (code)0x6d" (identifier "cVar24") (= "=") (cast_expression "(code)0x6d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x6d"))) (, ",") (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" (* "*") (cast_expression "(int *)(pcVar42 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x30)" (( "(") (binary_expression "pcVar42 + 0x30" (identifier "pcVar42") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          in_t4 = (code *)0x0;\n          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);\n          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;\n          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);\n          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);\n          in_t5 = in_t3;\n          while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }\n        }" ({ "{") (expression_statement "in_t4 = (code *)0x0;" (assignment_expression "in_t4 = (code *)0x0" (identifier "in_t4") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "in_t6 = (code *)(uint)**(byte **)(param_4 + 8);" (assignment_expression "in_t6 = (code *)(uint)**(byte **)(param_4 + 8)" (identifier "in_t6") (= "=") (binary_expression "(code *)(uint)**(byte **)(param_4 + 8)" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (pointer_expression "*(byte **)(param_4 + 8)" (* "*") (cast_expression "(byte **)(param_4 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28" (identifier "iVar32") (= "=") (binary_expression "*(int *)(puVar47 + 0x96bcc) + -0x7a28" (pointer_expression "*(int *)(puVar47 + 0x96bcc)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bcc)" (( "(") (binary_expression "puVar47 + 0x96bcc" (identifier "puVar47") (+ "+") (number_literal "0x96bcc")) () ")")))) (+ "+") (number_literal "-0x7a28"))) (; ";")) (expression_statement "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);" (assignment_expression "in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" (identifier "in_t3") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96b10) + -0x6da4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96b10) + -0x6da4" (pointer_expression "*(int *)(puVar47 + 0x96b10)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b10)" (( "(") (binary_expression "puVar47 + 0x96b10" (identifier "puVar47") (+ "+") (number_literal "0x96b10")) () ")")))) (+ "+") (number_literal "-0x6da4")) () ")")))) (; ";")) (expression_statement "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);" (assignment_expression "pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" (identifier "pbVar7") (= "=") (cast_expression "(byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96b34) + -0xfb4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96b34) + -0xfb4" (pointer_expression "*(int *)(puVar47 + 0x96b34)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b34)" (( "(") (binary_expression "puVar47 + 0x96b34" (identifier "puVar47") (+ "+") (number_literal "0x96b34")) () ")")))) (+ "+") (number_literal "-0xfb4")) () ")")))) (; ";")) (expression_statement "in_t5 = in_t3;" (assignment_expression "in_t5 = in_t3" (identifier "in_t5") (= "=") (identifier "in_t3")) (; ";")) (while_statement "while( true ) {\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            pbVar30 = *(byte **)(param_4 + 8);\n            pcVar27 = in_t6;\n            if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }\n            in_t4 = in_t4 + 1;\n            in_t5 = in_t5 + 8;\n            if (in_t4 == (code *)&DAT_00000004) break;\n            pbVar7 = *(byte **)in_t5;\n            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);\n          }" ({ "{") (expression_statement "pbVar30 = *(byte **)(param_4 + 8);" (assignment_expression "pbVar30 = *(byte **)(param_4 + 8)" (identifier "pbVar30") (= "=") (pointer_expression "*(byte **)(param_4 + 8)" (* "*") (cast_expression "(byte **)(param_4 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcVar27 = in_t6;" (assignment_expression "pcVar27 = in_t6" (identifier "pcVar27") (= "=") (identifier "in_t6")) (; ";")) (if_statement "if (in_t6[iVar32] == cVar24) {\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" (if "if") (parenthesized_expression "(in_t6[iVar32] == cVar24)" (( "(") (binary_expression "in_t6[iVar32] == cVar24" (subscript_expression "in_t6[iVar32]" (identifier "in_t6") ([ "[") (identifier "iVar32") (] "]")) (== "==") (identifier "cVar24")) () ")")) (compound_statement "{\n              do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));\n            }" ({ "{") (do_statement "do {\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));" (do "do") (compound_statement "{\n                if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }\n                pbVar30 = pbVar30 + 1;\n                pbVar1 = pbVar7 + 1;\n                pcVar31 = (code *)(uint)*pbVar30;\n                uVar18 = (uint)(byte)pcVar31[iVar32];\n                pbVar7 = pbVar7 + 1;\n                pcVar27 = pcVar31;\n              }" ({ "{") (if_statement "if (pcVar27 == (code *)0x0) {\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" (if "if") (parenthesized_expression "(pcVar27 == (code *)0x0)" (( "(") (binary_expression "pcVar27 == (code *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  uVar53 = CONCAT44(uVar8,uVar18);\n                  pcVar46 = *(code **)(pcVar38 + 4);\n                  uVar18 = 1;\n                  in_t4 = in_t3 + (int)in_t4 * 8;\n                  pcStack_18c = (code *)(uint)(byte)in_t4[4];\n                  goto LAB_000c5c84;\n                }" ({ "{") (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(uVar8,uVar18)" (identifier "CONCAT44") (argument_list "(uVar8,uVar18)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "pcVar46 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 4)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(pcVar38 + 4)" (* "*") (cast_expression "(code **)(pcVar38 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 4)" (( "(") (binary_expression "pcVar38 + 4" (identifier "pcVar38") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (expression_statement "in_t4 = in_t3 + (int)in_t4 * 8;" (assignment_expression "in_t4 = in_t3 + (int)in_t4 * 8" (identifier "in_t4") (= "=") (binary_expression "in_t3 + (int)in_t4 * 8" (identifier "in_t3") (+ "+") (binary_expression "(int)in_t4 * 8" (cast_expression "(int)in_t4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_t4")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "pcStack_18c = (code *)(uint)(byte)in_t4[4];" (assignment_expression "pcStack_18c = (code *)(uint)(byte)in_t4[4]" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)(uint)(byte)in_t4[4]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)in_t4[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)in_t4[4]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "in_t4[4]" (identifier "in_t4") ([ "[") (number_literal "4") (] "]")))))) (; ";")) (goto_statement "goto LAB_000c5c84;" (goto "goto") (statement_identifier "LAB_000c5c84") (; ";")) (} "}"))) (expression_statement "pbVar30 = pbVar30 + 1;" (assignment_expression "pbVar30 = pbVar30 + 1" (identifier "pbVar30") (= "=") (binary_expression "pbVar30 + 1" (identifier "pbVar30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar1 = pbVar7 + 1;" (assignment_expression "pbVar1 = pbVar7 + 1" (identifier "pbVar1") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar31 = (code *)(uint)*pbVar30;" (assignment_expression "pcVar31 = (code *)(uint)*pbVar30" (identifier "pcVar31") (= "=") (binary_expression "(code *)(uint)*pbVar30" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar30"))) (; ";")) (expression_statement "uVar18 = (uint)(byte)pcVar31[iVar32];" (assignment_expression "uVar18 = (uint)(byte)pcVar31[iVar32]" (identifier "uVar18") (= "=") (cast_expression "(uint)(byte)pcVar31[iVar32]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar31[iVar32]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar31[iVar32]" (identifier "pcVar31") ([ "[") (identifier "iVar32") (] "]"))))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar27 = pcVar31;" (assignment_expression "pcVar27 = pcVar31" (identifier "pcVar27") (= "=") (identifier "pcVar31")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 == *(byte *)(iVar32 + (uint)*pbVar1))" (( "(") (binary_expression "uVar18 == *(byte *)(iVar32 + (uint)*pbVar1)" (identifier "uVar18") (== "==") (pointer_expression "*(byte *)(iVar32 + (uint)*pbVar1)" (* "*") (cast_expression "(byte *)(iVar32 + (uint)*pbVar1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + (uint)*pbVar1)" (( "(") (binary_expression "iVar32 + (uint)*pbVar1" (identifier "iVar32") (+ "+") (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar1"))) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "in_t4 = in_t4 + 1;" (assignment_expression "in_t4 = in_t4 + 1" (identifier "in_t4") (= "=") (binary_expression "in_t4 + 1" (identifier "in_t4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "in_t5 = in_t5 + 8;" (assignment_expression "in_t5 = in_t5 + 8" (identifier "in_t5") (= "=") (binary_expression "in_t5 + 8" (identifier "in_t5") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (in_t4 == (code *)&DAT_00000004) break;" (if "if") (parenthesized_expression "(in_t4 == (code *)&DAT_00000004)" (( "(") (binary_expression "in_t4 == (code *)&DAT_00000004" (identifier "in_t4") (== "==") (cast_expression "(code *)&DAT_00000004" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbVar7 = *(byte **)in_t5;" (assignment_expression "pbVar7 = *(byte **)in_t5" (identifier "pbVar7") (= "=") (pointer_expression "*(byte **)in_t5" (* "*") (cast_expression "(byte **)in_t5" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "in_t5")))) (; ";")) (expression_statement "cVar24 = *(code *)(iVar32 + (uint)*pbVar7);" (assignment_expression "cVar24 = *(code *)(iVar32 + (uint)*pbVar7)" (identifier "cVar24") (= "=") (pointer_expression "*(code *)(iVar32 + (uint)*pbVar7)" (* "*") (cast_expression "(code *)(iVar32 + (uint)*pbVar7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + (uint)*pbVar7)" (( "(") (binary_expression "iVar32 + (uint)*pbVar7" (identifier "iVar32") (+ "+") (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7"))) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(uVar8,uVar18)" (identifier "CONCAT44") (argument_list "(uVar8,uVar18)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "pcVar42 = *(code **)(pcVar38 + 4);" (assignment_expression "pcVar42 = *(code **)(pcVar38 + 4)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(pcVar38 + 4)" (* "*") (cast_expression "(code **)(pcVar38 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 4)" (( "(") (binary_expression "pcVar38 + 4" (identifier "pcVar38") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar50 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar50 = CONCAT44(uVar8,uVar18)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(uVar8,uVar18)" (identifier "CONCAT44") (argument_list "(uVar8,uVar18)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if ((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" (if "if") (parenthesized_expression "((*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0))" (( "(") (binary_expression "(*pcVar42 == (code)0x9e) &&\n           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(*pcVar42 == (code)0x9e)" (( "(") (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) (== "==") (cast_expression "(code)0x9e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x9e"))) () ")")) (&& "&&") (parenthesized_expression "(uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (( "(") (comma_expression "uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (, ",") (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" (* "*") (cast_expression "(int *)(pcVar42 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x30)" (( "(") (binary_expression "pcVar42 + 0x30" (identifier "pcVar42") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);\n          if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }\n          pcVar31 = (code *)*puVar20;\n          while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }\n          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);\n          pcVar31 = (code *)auStack_168;\n          if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }\n          goto LAB_000c60a0;\n        }" ({ "{") (expression_statement "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);" (assignment_expression "puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" (identifier "puVar20") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x40)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x30) + 0x40" (pointer_expression "*(int *)(pcVar42 + 0x30)" (* "*") (cast_expression "(int *)(pcVar42 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x30)" (( "(") (binary_expression "pcVar42 + 0x30" (identifier "pcVar42") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (puVar20 == (undefined4 *)0x0) {\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" (if "if") (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar20 == (undefined4 *)0x0" (identifier "puVar20") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);\n            (*pcVar31)();\n          }" ({ "{") (labeled_statement "LAB_000c7224:\n                    \n            pcVar31 = (code *)trap(0);" (statement_identifier "LAB_000c7224") (: ":") (expression_statement "pcVar31 = (code *)trap(0);" (assignment_expression "pcVar31 = (code *)trap(0)" (identifier "pcVar31") (= "=") (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 "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" (identifier "pcVar31") (= "=") (cast_expression "(code *)*puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")))) (; ";")) (while_statement "while (pcVar6 != pcVar31) {\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" (while "while") (parenthesized_expression "(pcVar6 != pcVar31)" (( "(") (binary_expression "pcVar6 != pcVar31" (identifier "pcVar6") (!= "!=") (identifier "pcVar31")) () ")")) (compound_statement "{\n            puVar20 = (undefined4 *)puVar20[6];\n            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;\n            pcVar31 = (code *)*puVar20;\n          }" ({ "{") (expression_statement "puVar20 = (undefined4 *)puVar20[6];" (assignment_expression "puVar20 = (undefined4 *)puVar20[6]" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)puVar20[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[6]" (identifier "puVar20") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;" (if "if") (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar20 == (undefined4 *)0x0" (identifier "puVar20") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c7224;" (goto "goto") (statement_identifier "LAB_000c7224") (; ";"))) (expression_statement "pcVar31 = (code *)*puVar20;" (assignment_expression "pcVar31 = (code *)*puVar20" (identifier "pcVar31") (= "=") (cast_expression "(code *)*puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")))) (; ";")) (} "}"))) (expression_statement "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);" (assignment_expression "pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(*(int *)puVar20[2] + 0x48)" (* "*") (cast_expression "(code **)(*(int *)puVar20[2] + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar20[2] + 0x48)" (( "(") (binary_expression "*(int *)puVar20[2] + 0x48" (pointer_expression "*(int *)puVar20[2]" (* "*") (cast_expression "(int *)puVar20[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "pcVar31 = (code *)auStack_168;" (assignment_expression "pcVar31 = (code *)auStack_168" (identifier "pcVar31") (= "=") (cast_expression "(code *)auStack_168" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_168"))) (; ";")) (if_statement "if (pcVar27 != (code *)0x0) {\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" (if "if") (parenthesized_expression "(pcVar27 != (code *)0x0)" (( "(") (binary_expression "pcVar27 != (code *)0x0" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );\n            uVar53 = CONCAT44(uVar8,uVar18);\n            if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }\n            goto LAB_000c609c;\n          }" ({ "{") (expression_statement "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               );" (assignment_expression "uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" (identifier "uVar13") (= "=") (call_expression "(*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164\n                               )" (( "(") (cast_expression "(int *)puVar20[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]"))) (, ",") (number_literal "2") (, ",") (pointer_expression "*(undefined4 *)(param_4 + 8)" (* "*") (cast_expression "(undefined4 *)(param_4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "pcVar31") (, ",") (identifier "auStack_164") () ")")))) (; ";")) (expression_statement "uVar53 = CONCAT44(uVar8,uVar18);" (assignment_expression "uVar53 = CONCAT44(uVar8,uVar18)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(uVar8,uVar18)" (identifier "CONCAT44") (argument_list "(uVar8,uVar18)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if (0x95 < (int)uVar13) {\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" (if "if") (parenthesized_expression "(0x95 < (int)uVar13)" (( "(") (binary_expression "0x95 < (int)uVar13" (number_literal "0x95") (< "<") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) () ")")) (compound_statement "{\n              pcStack_18c = (code *)(uVar13 & 0xff);\n              pcVar46 = *(code **)(pcVar38 + 0x18);\n              uVar18 = 1;\n              goto LAB_000c5c84;\n            }" ({ "{") (expression_statement "pcStack_18c = (code *)(uVar13 & 0xff);" (assignment_expression "pcStack_18c = (code *)(uVar13 & 0xff)" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)(uVar13 & 0xff)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "pcVar46 = *(code **)(pcVar38 + 0x18);" (assignment_expression "pcVar46 = *(code **)(pcVar38 + 0x18)" (identifier "pcVar46") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x18)" (* "*") (cast_expression "(code **)(pcVar38 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x18)" (( "(") (binary_expression "pcVar38 + 0x18" (identifier "pcVar38") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000c5c84;" (goto "goto") (statement_identifier "LAB_000c5c84") (; ";")) (} "}"))) (goto_statement "goto LAB_000c609c;" (goto "goto") (statement_identifier "LAB_000c609c") (; ";")) (} "}"))) (goto_statement "goto LAB_000c60a0;" (goto "goto") (statement_identifier "LAB_000c60a0") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }\n      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);\n      uVar9 = (undefined4)uVar51;\n      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);\n      pcVar42 = (code *)uVar49;\n      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }\nLAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);\n      param_5 = (code *)uVar51;\n      uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n      uVar50 = uVar53;\n      if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }\n    }" ({ "{") (if_statement "if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" (if "if") (parenthesized_expression "((uVar13 == 0x9c) || (uVar13 - 0x33 < 2))" (( "(") (binary_expression "(uVar13 == 0x9c) || (uVar13 - 0x33 < 2)" (parenthesized_expression "(uVar13 == 0x9c)" (( "(") (binary_expression "uVar13 == 0x9c" (identifier "uVar13") (== "==") (number_literal "0x9c")) () ")")) (|| "||") (parenthesized_expression "(uVar13 - 0x33 < 2)" (( "(") (binary_expression "uVar13 - 0x33 < 2" (binary_expression "uVar13 - 0x33" (identifier "uVar13") (- "-") (number_literal "0x33")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        pcVar42 = *(code **)(param_4 + 0xc);\n        pcVar27 = *(code **)(param_4 + 0x10);\n        if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }\n        pcVar46 = pcVar27;\n        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }\n        if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }\nLAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);\n        iVar32 = *(int *)(puVar47 + 0x96c78);\n        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\nLAB_000c5d04:\n        pcVar27 = pcVar42;\n        pcVar38 = pcVar46;\n        uVar18 = uVar18 - 1;\n        if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }\n        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);\nLAB_000c609c:\n        cVar15 = pcVar22[8];\nLAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);\n        param_5 = (code *)uVar51;\n        uVar50 = uVar53;\n        if (cVar15 != (code)0x2c) goto LAB_000c4d88;\n        uVar13 = (uint)(byte)*param_4;\n      }" ({ "{") (expression_statement "pcVar42 = *(code **)(param_4 + 0xc);" (assignment_expression "pcVar42 = *(code **)(param_4 + 0xc)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(param_4 + 0xc)" (* "*") (cast_expression "(code **)(param_4 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(param_4 + 0x10);" (assignment_expression "pcVar27 = *(code **)(param_4 + 0x10)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(param_4 + 0x10)" (* "*") (cast_expression "(code **)(param_4 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (*pcVar42 == (code)0x9e) {\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }\n        else {\n          uVar18 = 0;\n        }" (if "if") (parenthesized_expression "(*pcVar42 == (code)0x9e)" (( "(") (binary_expression "*pcVar42 == (code)0x9e" (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) (== "==") (cast_expression "(code)0x9e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x9e"))) () ")")) (compound_statement "{\n          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);\n        }" ({ "{") (expression_statement "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);" (assignment_expression "uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (identifier "uVar18") (= "=") (call_expression "(uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x30) + 0x38)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar42 + 0x30)" (* "*") (cast_expression "(int *)(pcVar42 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x30)" (( "(") (binary_expression "pcVar42 + 0x30" (identifier "pcVar42") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          uVar18 = 0;\n        }" (else "else") (compound_statement "{\n          uVar18 = 0;\n        }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" (identifier "pcVar46") (= "=") (identifier "pcVar27")) (; ";")) (if_statement "if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" (if "if") (parenthesized_expression "(((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0))" (( "(") (binary_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&\n           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" (parenthesized_expression "((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e))" (( "(") (binary_expression "(pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)" (parenthesized_expression "(pcVar27 != (code *)0x0)" (( "(") (binary_expression "pcVar27 != (code *)0x0" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*pcVar27 == (code)0x9e)" (( "(") (binary_expression "*pcVar27 == (code)0x9e" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (== "==") (cast_expression "(code)0x9e" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x9e"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0" (pointer_expression "*(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(pcVar27 + 0x30) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar27 + 0x30) + 0x38)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x30) + 0x38" (pointer_expression "*(int *)(pcVar27 + 0x30)" (* "*") (cast_expression "(int *)(pcVar27 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x30)" (( "(") (binary_expression "pcVar27 + 0x30" (identifier "pcVar27") (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar18 = uVar18 + 1;\n          pcVar46 = pcVar42;\n          pcVar42 = pcVar27;\n        }" ({ "{") (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar46 = pcVar42;" (assignment_expression "pcVar46 = pcVar42" (identifier "pcVar46") (= "=") (identifier "pcVar42")) (; ";")) (expression_statement "pcVar42 = pcVar27;" (assignment_expression "pcVar42 = pcVar27" (identifier "pcVar42") (= "=") (identifier "pcVar27")) (; ";")) (} "}"))) (if_statement "if (uVar13 == 0x34) {\n          pcStack_18c = (code *)0x44;\n        }\n        else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" (if "if") (parenthesized_expression "(uVar13 == 0x34)" (( "(") (binary_expression "uVar13 == 0x34" (identifier "uVar13") (== "==") (number_literal "0x34")) () ")")) (compound_statement "{\n          pcStack_18c = (code *)0x44;\n        }" ({ "{") (expression_statement "pcStack_18c = (code *)0x44;" (assignment_expression "pcStack_18c = (code *)0x44" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x44"))) (; ";")) (} "}")) (else_clause "else if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" (else "else") (if_statement "if (uVar13 == 0x9c) {\n          pcStack_18c = (code *)0x45;\n        }\n        else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" (if "if") (parenthesized_expression "(uVar13 == 0x9c)" (( "(") (binary_expression "uVar13 == 0x9c" (identifier "uVar13") (== "==") (number_literal "0x9c")) () ")")) (compound_statement "{\n          pcStack_18c = (code *)0x45;\n        }" ({ "{") (expression_statement "pcStack_18c = (code *)0x45;" (assignment_expression "pcStack_18c = (code *)0x45" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x45" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x45"))) (; ";")) (} "}")) (else_clause "else {\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" (else "else") (compound_statement "{\n          pcStack_18c = (code *)0x46;\n          if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }\n        }" ({ "{") (expression_statement "pcStack_18c = (code *)0x46;" (assignment_expression "pcStack_18c = (code *)0x46" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x46" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x46"))) (; ";")) (if_statement "if (uVar13 != 0x33) {\n            pcStack_18c = (code *)0x0;\n          }" (if "if") (parenthesized_expression "(uVar13 != 0x33)" (( "(") (binary_expression "uVar13 != 0x33" (identifier "uVar13") (!= "!=") (number_literal "0x33")) () ")")) (compound_statement "{\n            pcStack_18c = (code *)0x0;\n          }" ({ "{") (expression_statement "pcStack_18c = (code *)0x0;" (assignment_expression "pcStack_18c = (code *)0x0" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}")))))) (labeled_statement "LAB_000c5c84:\n        pcStack_188 = *(code **)(puVar47 + 0x96c38);" (statement_identifier "LAB_000c5c84") (: ":") (expression_statement "pcStack_188 = *(code **)(puVar47 + 0x96c38);" (assignment_expression "pcStack_188 = *(code **)(puVar47 + 0x96c38)" (identifier "pcStack_188") (= "=") (pointer_expression "*(code **)(puVar47 + 0x96c38)" (* "*") (cast_expression "(code **)(puVar47 + 0x96c38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";"))) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")"))))) (; ";")) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (labeled_statement "LAB_000c5d04:\n        pcVar27 = pcVar42;" (statement_identifier "LAB_000c5d04") (: ":") (expression_statement "pcVar27 = pcVar42;" (assignment_expression "pcVar27 = pcVar42" (identifier "pcVar27") (= "=") (identifier "pcVar42")) (; ";"))) (expression_statement "pcVar38 = pcVar46;" (assignment_expression "pcVar38 = pcVar46" (identifier "pcVar38") (= "=") (identifier "pcVar46")) (; ";")) (expression_statement "uVar18 = uVar18 - 1;" (assignment_expression "uVar18 = uVar18 - 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 - 1" (identifier "uVar18") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar18 != 0xffffffff) {\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" (if "if") (parenthesized_expression "(uVar18 != 0xffffffff)" (( "(") (binary_expression "uVar18 != 0xffffffff" (identifier "uVar18") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          pcVar46 = pcVar27;\n          pcVar42 = pcVar38;\n          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;\n          if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }\n          pcVar31 = (code *)0x0;\n          uVar51 = 0;\n          goto LAB_000c5d38;\n        }" ({ "{") (expression_statement "pcVar46 = pcVar27;" (assignment_expression "pcVar46 = pcVar27" (identifier "pcVar46") (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pcVar42 = pcVar38;" (assignment_expression "pcVar42 = pcVar38" (identifier "pcVar42") (= "=") (identifier "pcVar38")) (; ";")) (if_statement "if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;" (if "if") (parenthesized_expression "(pcVar38 != (code *)0x0)" (( "(") (binary_expression "pcVar38 != (code *)0x0" (identifier "pcVar38") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5cbc;" (goto "goto") (statement_identifier "LAB_000c5cbc") (; ";"))) (if_statement "if (pcVar27 != (code *)0x0) {\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" (if "if") (parenthesized_expression "(pcVar27 != (code *)0x0)" (( "(") (binary_expression "pcVar27 != (code *)0x0" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*pcStack_1b0)(pcStack_1b8,pcVar27);\n          }" ({ "{") (expression_statement "(*pcStack_1b0)(pcStack_1b8,pcVar27);" (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" (( "(") (pointer_expression "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) () ")")) (argument_list "(pcStack_1b8,pcVar27)" (( "(") (identifier "pcStack_1b8") (, ",") (identifier "pcVar27") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar51 = 0;" (assignment_expression "uVar51 = 0" (identifier "uVar51") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000c5d38;" (goto "goto") (statement_identifier "LAB_000c5d38") (; ";")) (} "}"))) (expression_statement "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);" (assignment_expression "uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" (identifier "uVar49") (= "=") (call_expression "CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff)" (identifier "CONCAT44") (argument_list "((code *)(iVar32 + 0x26b4),0xffffffff)" (( "(") (cast_expression "(code *)(iVar32 + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x26b4)" (( "(") (binary_expression "iVar32 + 0x26b4" (identifier "iVar32") (+ "+") (number_literal "0x26b4")) () ")"))) (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (labeled_statement "LAB_000c609c:\n        cVar15 = pcVar22[8];" (statement_identifier "LAB_000c609c") (: ":") (expression_statement "cVar15 = pcVar22[8];" (assignment_expression "cVar15 = pcVar22[8]" (identifier "cVar15") (= "=") (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (labeled_statement "LAB_000c60a0:\n        param_1 = (code *)(uVar51 >> 0x20);" (statement_identifier "LAB_000c60a0") (: ":") (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" (identifier "param_1") (= "=") (cast_expression "(code *)(uVar51 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar51 >> 0x20)" (( "(") (binary_expression "uVar51 >> 0x20" (identifier "uVar51") (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" (identifier "param_5") (= "=") (cast_expression "(code *)uVar51" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar51"))) (; ";")) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (cVar15 != (code)0x2c) goto LAB_000c4d88;" (if "if") (parenthesized_expression "(cVar15 != (code)0x2c)" (( "(") (binary_expression "cVar15 != (code)0x2c" (identifier "cVar15") (!= "!=") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) () ")")) (goto_statement "goto LAB_000c4d88;" (goto "goto") (statement_identifier "LAB_000c4d88") (; ";"))) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" (identifier "uVar13") (= "=") (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "param_4"))) (; ";")) (} "}"))) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(undefined4)((ulonglong)uVar53 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar53 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar53")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar9 = (undefined4)uVar51;" (assignment_expression "uVar9 = (undefined4)uVar51" (identifier "uVar9") (= "=") (cast_expression "(undefined4)uVar51" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "uVar51"))) (; ";")) (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" (identifier "pcVar42") (= "=") (cast_expression "(code *)uVar49" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar49"))) (; ";")) (if_statement "if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" (if "if") (parenthesized_expression "((uVar13 == 0x35) || (uVar13 == 0x2d))" (( "(") (binary_expression "(uVar13 == 0x35) || (uVar13 == 0x2d)" (parenthesized_expression "(uVar13 == 0x35)" (( "(") (binary_expression "uVar13 == 0x35" (identifier "uVar13") (== "==") (number_literal "0x35")) () ")")) (|| "||") (parenthesized_expression "(uVar13 == 0x2d)" (( "(") (binary_expression "uVar13 == 0x2d" (identifier "uVar13") (== "==") (number_literal "0x2d")) () ")"))) () ")")) (compound_statement "{\n        pcVar40 = *(char **)(param_4 + 0xc);\n        cVar16 = *pcVar40;\n        if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }\n        if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        uVar51 = CONCAT44(param_1,uVar9);\n        if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(param_4 + 0xc)" (* "*") (cast_expression "(char **)(param_4 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" (identifier "cVar16") (= "=") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40"))) (; ";")) (if_statement "if (cVar16 == -0x5c) {\n          cVar16 = pcVar40[0x28];\n        }" (if "if") (parenthesized_expression "(cVar16 == -0x5c)" (( "(") (binary_expression "cVar16 == -0x5c" (identifier "cVar16") (== "==") (number_literal "-0x5c")) () ")")) (compound_statement "{\n          cVar16 = pcVar40[0x28];\n        }" ({ "{") (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" (identifier "cVar16") (= "=") (subscript_expression "pcVar40[0x28]" (identifier "pcVar40") ([ "[") (number_literal "0x28") (] "]"))) (; ";")) (} "}"))) (if_statement "if (cVar16 == -0x5b) {\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }\n        else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" (if "if") (parenthesized_expression "(cVar16 == -0x5b)" (( "(") (binary_expression "cVar16 == -0x5b" (identifier "cVar16") (== "==") (number_literal "-0x5b")) () ")")) (compound_statement "{\n          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);\n        }" ({ "{") (expression_statement "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14)" (identifier "param_1") (= "=") (cast_expression "(code *)**(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" (* "*") (cast_expression "(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x14)" (( "(") (binary_expression "pcVar40 + 0x14" (identifier "pcVar40") (+ "+") (number_literal "0x14")) () ")"))))))) (; ";")) (} "}")) (else_clause "else {\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" (else "else") (compound_statement "{\n          if (cVar16 != '\x7f') goto LAB_000c55f8;\n          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);\n        }" ({ "{") (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" (if "if") (parenthesized_expression "(cVar16 != '\x7f')" (( "(") (binary_expression "cVar16 != '\x7f'" (identifier "cVar16") (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")")) (goto_statement "goto LAB_000c55f8;" (goto "goto") (statement_identifier "LAB_000c55f8") (; ";"))) (expression_statement "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14)" (identifier "param_1") (= "=") (pointer_expression "*(code **)**(undefined4 **)(pcVar40 + 0x14)" (* "*") (cast_expression "(code **)**(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" (* "*") (cast_expression "(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x14)" (( "(") (binary_expression "pcVar40 + 0x14" (identifier "pcVar40") (+ "+") (number_literal "0x14")) () ")")))))))) (; ";")) (} "}")))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,uVar9)" (identifier "CONCAT44") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (1 < (int)param_1) {\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" (if "if") (parenthesized_expression "(1 < (int)param_1)" (( "(") (binary_expression "1 < (int)param_1" (number_literal "1") (< "<") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")) (compound_statement "{\n          pcVar35 = *(char **)(param_4 + 0x10);\n          cVar16 = *pcVar35;\n          if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }\n          if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          uVar51 = CONCAT44(param_1,uVar9);\n          if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }\n        }" ({ "{") (expression_statement "pcVar35 = *(char **)(param_4 + 0x10);" (assignment_expression "pcVar35 = *(char **)(param_4 + 0x10)" (identifier "pcVar35") (= "=") (pointer_expression "*(char **)(param_4 + 0x10)" (* "*") (cast_expression "(char **)(param_4 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "cVar16 = *pcVar35;" (assignment_expression "cVar16 = *pcVar35" (identifier "cVar16") (= "=") (pointer_expression "*pcVar35" (* "*") (identifier "pcVar35"))) (; ";")) (if_statement "if (cVar16 == -0x5c) {\n            cVar16 = pcVar35[0x28];\n          }" (if "if") (parenthesized_expression "(cVar16 == -0x5c)" (( "(") (binary_expression "cVar16 == -0x5c" (identifier "cVar16") (== "==") (number_literal "-0x5c")) () ")")) (compound_statement "{\n            cVar16 = pcVar35[0x28];\n          }" ({ "{") (expression_statement "cVar16 = pcVar35[0x28];" (assignment_expression "cVar16 = pcVar35[0x28]" (identifier "cVar16") (= "=") (subscript_expression "pcVar35[0x28]" (identifier "pcVar35") ([ "[") (number_literal "0x28") (] "]"))) (; ";")) (} "}"))) (if_statement "if (cVar16 == -0x5b) {\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }\n          else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" (if "if") (parenthesized_expression "(cVar16 == -0x5b)" (( "(") (binary_expression "cVar16 == -0x5b" (identifier "cVar16") (== "==") (number_literal "-0x5b")) () ")")) (compound_statement "{\n            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);\n          }" ({ "{") (expression_statement "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14)" (identifier "pcVar27") (= "=") (cast_expression "(code *)**(undefined4 **)(pcVar35 + 0x14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" (* "*") (cast_expression "(undefined4 **)(pcVar35 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar35 + 0x14)" (( "(") (binary_expression "pcVar35 + 0x14" (identifier "pcVar35") (+ "+") (number_literal "0x14")) () ")"))))))) (; ";")) (} "}")) (else_clause "else {\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" (else "else") (compound_statement "{\n            uVar51 = CONCAT44(param_1,uVar9);\n            if (cVar16 != '\x7f') goto LAB_000c55f8;\n            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);\n          }" ({ "{") (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,uVar9)" (identifier "CONCAT44") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (cVar16 != '\x7f') goto LAB_000c55f8;" (if "if") (parenthesized_expression "(cVar16 != '\x7f')" (( "(") (binary_expression "cVar16 != '\x7f'" (identifier "cVar16") (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")")) (goto_statement "goto LAB_000c55f8;" (goto "goto") (statement_identifier "LAB_000c55f8") (; ";"))) (expression_statement "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);" (assignment_expression "pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)**(undefined4 **)(pcVar35 + 0x14)" (* "*") (cast_expression "(code **)**(undefined4 **)(pcVar35 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "**(undefined4 **)(pcVar35 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(pcVar35 + 0x14)" (* "*") (cast_expression "(undefined4 **)(pcVar35 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar35 + 0x14)" (( "(") (binary_expression "pcVar35 + 0x14" (identifier "pcVar35") (+ "+") (number_literal "0x14")) () ")")))))))) (; ";")) (} "}")))) (expression_statement "uVar51 = CONCAT44(param_1,uVar9);" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,uVar9)" (identifier "CONCAT44") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if ((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" (if "if") (parenthesized_expression "((param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))))" (( "(") (binary_expression "(param_1 == pcVar27) &&\n             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" (parenthesized_expression "(param_1 == pcVar27)" (( "(") (binary_expression "param_1 == pcVar27" (identifier "param_1") (== "==") (identifier "pcVar27")) () ")")) (&& "&&") (parenthesized_expression "(((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))" (( "(") (parenthesized_expression "((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0))" (( "(") (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0 ||\n              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" (binary_expression "(*(uint *)(pcVar40 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar40 + 4) & 0x800)" (( "(") (binary_expression "*(uint *)(pcVar40 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar40 + 4)" (* "*") (cast_expression "(uint *)(pcVar40 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 4)" (( "(") (binary_expression "pcVar40 + 4" (identifier "pcVar40") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)" (( "(") (comma_expression "uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0" (assignment_expression "uVar51 = CONCAT44(param_1,uVar9)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,uVar9)" (identifier "CONCAT44") (argument_list "(param_1,uVar9)" (( "(") (identifier "param_1") (, ",") (identifier "uVar9") () ")")))) (, ",") (binary_expression "(*(uint *)(pcVar35 + 4) & 0x800) == 0" (parenthesized_expression "(*(uint *)(pcVar35 + 4) & 0x800)" (( "(") (binary_expression "*(uint *)(pcVar35 + 4) & 0x800" (pointer_expression "*(uint *)(pcVar35 + 4)" (* "*") (cast_expression "(uint *)(pcVar35 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar35 + 4)" (( "(") (binary_expression "pcVar35 + 4" (identifier "pcVar35") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            pcVar42 = (code *)0x0;\n            iVar32 = *(int *)(puVar47 + 0x96c78);\n            iVar39 = *(int *)(puVar47 + 0x96c78);\n            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n            while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }\n            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));\n            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n            *(undefined2 *)(pcVar43 + 0xc) = 0;\n            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;\n            param_5 = pcVar17;\n            uVar50 = uVar53;\n            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;\n            uVar13 = (uint)(byte)*param_4;\n            uVar51 = CONCAT44(param_1,pcVar17);\n          }" ({ "{") (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" (identifier "pcVar42") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar32 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar32 = *(int *)(puVar47 + 0x96c78)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")"))))) (; ";")) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c78);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c78)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")"))))) (; ";")) (expression_statement "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")")))) (+ "+") (number_literal "0x4ac8")) () ")")))) (; ";")) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (while_statement "while( true ) {\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);\n              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);\n              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);\n              if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }\n              uVar9 = (*pcVar38)(pcVar22,iVar29,1);\n              pcVar42 = pcVar42 + 1;\n              uVar49 = CONCAT44(pcStack_1a4,pcVar42);\n              (*pcStack_190)(pcVar26,pcVar22,uVar9);\n              if (pcVar42 == param_1) break;\n              pcVar40 = *(char **)(param_4 + 0xc);\n            }" ({ "{") (expression_statement "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);" (assignment_expression "uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" (identifier "uVar9") (= "=") (call_expression "(*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" (( "(") (pointer_expression "*(code *)(iVar39 + 0x294c)" (* "*") (cast_expression "(code *)(iVar39 + 0x294c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x294c)" (( "(") (binary_expression "iVar39 + 0x294c" (identifier "iVar39") (+ "+") (number_literal "0x294c")) () ")")))) () ")")) (argument_list "(pcVar17,pcVar40,pcVar42)" (( "(") (identifier "pcVar17") (, ",") (identifier "pcVar40") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (expression_statement "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);" (assignment_expression "pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar39 + 0x294c))\n                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (parenthesized_expression "(*(code *)(iVar39 + 0x294c))" (( "(") (pointer_expression "*(code *)(iVar39 + 0x294c)" (* "*") (cast_expression "(code *)(iVar39 + 0x294c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x294c)" (( "(") (binary_expression "iVar39 + 0x294c" (identifier "iVar39") (+ "+") (number_literal "0x294c")) () ")")))) () ")")) (argument_list "(pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42)" (( "(") (identifier "pcVar17") (, ",") (pointer_expression "*(undefined4 *)(param_4 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_4 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "pcVar42") () ")"))))) (; ";")) (expression_statement "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);" (assignment_expression "iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" (identifier "iVar29") (= "=") (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x26b4)" (* "*") (cast_expression "(code *)(iVar32 + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x26b4)" (( "(") (binary_expression "iVar32 + 0x26b4" (identifier "iVar32") (+ "+") (number_literal "0x26b4")) () ")")))) () ")")) (argument_list "(pcVar17,*param_4,uVar9)" (( "(") (identifier "pcVar17") (, ",") (pointer_expression "*param_4" (* "*") (identifier "param_4")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar29 != 0) {\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" (if "if") (parenthesized_expression "(iVar29 != 0)" (( "(") (binary_expression "iVar29 != 0" (identifier "iVar29") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;\n                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);\n              }" ({ "{") (expression_statement "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;" (assignment_expression "*(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" (* "*") (cast_expression "(uint *)(iVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(iVar29 + 4)" (* "*") (cast_expression "(uint *)(iVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 4)" (( "(") (binary_expression "iVar29 + 4" (identifier "iVar29") (+ "+") (number_literal "4")) () ")")))) (| "|") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")))) (; ";")) (expression_statement "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);" (assignment_expression "*(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26)" (pointer_expression "*(undefined2 *)(iVar29 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar29 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x26)" (( "(") (binary_expression "iVar29 + 0x26" (identifier "iVar29") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(param_4 + 0x26)" (* "*") (cast_expression "(undefined2 *)(param_4 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x26)" (( "(") (binary_expression "param_4 + 0x26" (identifier "param_4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar9 = (*pcVar38)(pcVar22,iVar29,1);" (assignment_expression "uVar9 = (*pcVar38)(pcVar22,iVar29,1)" (identifier "uVar9") (= "=") (call_expression "(*pcVar38)(pcVar22,iVar29,1)" (parenthesized_expression "(*pcVar38)" (( "(") (pointer_expression "*pcVar38" (* "*") (identifier "pcVar38")) () ")")) (argument_list "(pcVar22,iVar29,1)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar29") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "pcVar42 = pcVar42 + 1;" (assignment_expression "pcVar42 = pcVar42 + 1" (identifier "pcVar42") (= "=") (binary_expression "pcVar42 + 1" (identifier "pcVar42") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,pcVar42)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,pcVar42)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (expression_statement "(*pcStack_190)(pcVar26,pcVar22,uVar9);" (call_expression "(*pcStack_190)(pcVar26,pcVar22,uVar9)" (parenthesized_expression "(*pcStack_190)" (( "(") (pointer_expression "*pcStack_190" (* "*") (identifier "pcStack_190")) () ")")) (argument_list "(pcVar26,pcVar22,uVar9)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "uVar9") () ")"))) (; ";")) (if_statement "if (pcVar42 == param_1) break;" (if "if") (parenthesized_expression "(pcVar42 == param_1)" (( "(") (binary_expression "pcVar42 == param_1" (identifier "pcVar42") (== "==") (identifier "param_1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(param_4 + 0xc)" (* "*") (cast_expression "(char **)(param_4 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" (identifier "uVar53") (= "=") (call_expression "CONCAT44(uVar8,*(int *)(pcVar22 + 0x14))" (identifier "CONCAT44") (argument_list "(uVar8,*(int *)(pcVar22 + 0x14))" (( "(") (identifier "uVar8") (, ",") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcVar43") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "*(undefined2 *)(pcVar43 + 0xc) = 0;" (assignment_expression "*(undefined2 *)(pcVar43 + 0xc) = 0" (pointer_expression "*(undefined2 *)(pcVar43 + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcVar43 + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar43 + 10) | 6" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "6"))) (; ";")) (expression_statement "param_5 = pcVar17;" (assignment_expression "param_5 = pcVar17" (identifier "param_5") (= "=") (identifier "pcVar17")) (; ";")) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;" (if "if") (parenthesized_expression "(pcVar22[8] != (code)0x2c)" (( "(") (binary_expression "pcVar22[8] != (code)0x2c" (subscript_expression "pcVar22[8]" (identifier "pcVar22") ([ "[") (number_literal "8") (] "]")) (!= "!=") (cast_expression "(code)0x2c" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2c"))) () ")")) (goto_statement "goto LAB_000c4d88;" (goto "goto") (statement_identifier "LAB_000c4d88") (; ";"))) (expression_statement "uVar13 = (uint)(byte)*param_4;" (assignment_expression "uVar13 = (uint)(byte)*param_4" (identifier "uVar13") (= "=") (binary_expression "(uint)(byte)*param_4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "param_4"))) (; ";")) (expression_statement "uVar51 = CONCAT44(param_1,pcVar17);" (assignment_expression "uVar51 = CONCAT44(param_1,pcVar17)" (identifier "uVar51") (= "=") (call_expression "CONCAT44(param_1,pcVar17)" (identifier "CONCAT44") (argument_list "(param_1,pcVar17)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar17") () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_000c55f8:\n      param_1 = (code *)(uVar51 >> 0x20);" (statement_identifier "LAB_000c55f8") (: ":") (expression_statement "param_1 = (code *)(uVar51 >> 0x20);" (assignment_expression "param_1 = (code *)(uVar51 >> 0x20)" (identifier "param_1") (= "=") (cast_expression "(code *)(uVar51 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar51 >> 0x20)" (( "(") (binary_expression "uVar51 >> 0x20" (identifier "uVar51") (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "param_5 = (code *)uVar51;" (assignment_expression "param_5 = (code *)uVar51" (identifier "param_5") (= "=") (cast_expression "(code *)uVar51" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar51"))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,pcVar42)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,pcVar42)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "pcVar42") () ")")))) (; ";")) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (uVar13 == 0x31) {\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(uVar13 == 0x31)" (( "(") (binary_expression "uVar13 == 0x31" (identifier "uVar13") (== "==") (number_literal "0x31")) () ")")) (compound_statement "{\n        iVar32 = *(int *)(pcVar43 + 0x18);\n        uVar49 = CONCAT44(pcStack_1a4,iVar32);\n        if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar43 + 0x18);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0x18)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar43 + 0x18)" (* "*") (cast_expression "(int *)(pcVar43 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x18)" (( "(") (binary_expression "pcVar43 + 0x18" (identifier "pcVar43") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar32)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar32)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (; ";")) (if_statement "if (((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0))" (( "(") (binary_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)) &&\n           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" (parenthesized_expression "((iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b))" (( "(") (binary_expression "(iVar32 == 0) &&\n            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b)" (( "(") (comma_expression "pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(param_4 + 0xc)" (* "*") (cast_expression "(char **)(param_4 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (, ",") (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n            *pcVar40 == -0x5b" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar32)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar32)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (, ",") (binary_expression "*pcVar40 == -0x5b" (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) (== "==") (number_literal "-0x5b")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)" (( "(") (comma_expression "iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (, ",") (comma_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32),\n           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar32)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar32)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (, ",") (binary_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0" (pointer_expression "*(int *)(*(int *)(param_4 + 0x14) + 0x34)" (* "*") (cast_expression "(int *)(*(int *)(param_4 + 0x14) + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_4 + 0x14) + 0x34)" (( "(") (binary_expression "*(int *)(param_4 + 0x14) + 0x34" (pointer_expression "*(int *)(param_4 + 0x14)" (* "*") (cast_expression "(int *)(param_4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n          param_1 = (code *)0xa5;\n          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);\n          cVar16 = -0x5b;\n          iVar32 = 0;\n          while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }\n        }" ({ "{") (expression_statement "param_1 = (code *)0xa5;" (assignment_expression "param_1 = (code *)0xa5" (identifier "param_1") (= "=") (cast_expression "(code *)0xa5" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa5"))) (; ";")) (expression_statement "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);" (assignment_expression "pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96dac) + 0x4ac8)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96dac) + 0x4ac8" (pointer_expression "*(int *)(puVar47 + 0x96dac)" (* "*") (cast_expression "(int *)(puVar47 + 0x96dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")")))) (+ "+") (number_literal "0x4ac8")) () ")")))) (; ";")) (expression_statement "cVar16 = -0x5b;" (assignment_expression "cVar16 = -0x5b" (identifier "cVar16") (= "=") (number_literal "-0x5b")) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            uVar49 = CONCAT44(pcStack_1a4,iVar32);\n            if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }\n            param_5 = pcStack_19c;\n            uVar50 = uVar53;\n            if (iVar29 <= iVar32) break;\n            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);\n            iVar32 = iVar32 + 1;\n            pcVar43 = (code *)(iVar29 * 0x30);\n            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;\n            FUN_000c4ac8(pcVar26,pcVar22,iVar29);\n            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;\n            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n            pcVar40 = *(char **)(param_4 + 0xc);\n            cVar16 = *pcVar40;\n            if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }\n          }" ({ "{") (expression_statement "uVar49 = CONCAT44(pcStack_1a4,iVar32);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,iVar32)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,iVar32)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,iVar32)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "iVar32") () ")")))) (; ";")) (if_statement "if (cVar16 == -0x5b) {\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }\n            else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" (if "if") (parenthesized_expression "(cVar16 == -0x5b)" (( "(") (binary_expression "cVar16 == -0x5b" (identifier "cVar16") (== "==") (number_literal "-0x5b")) () ")")) (compound_statement "{\n              iVar29 = **(int **)(pcVar40 + 0x14);\n            }" ({ "{") (expression_statement "iVar29 = **(int **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = **(int **)(pcVar40 + 0x14)" (identifier "iVar29") (= "=") (pointer_expression "**(int **)(pcVar40 + 0x14)" (* "*") (pointer_expression "*(int **)(pcVar40 + 0x14)" (* "*") (cast_expression "(int **)(pcVar40 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x14)" (( "(") (binary_expression "pcVar40 + 0x14" (identifier "pcVar40") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (} "}")) (else_clause "else if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" (else "else") (if_statement "if (cVar16 == '\x7f') {\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }\n            else {\n              iVar29 = 1;\n            }" (if "if") (parenthesized_expression "(cVar16 == '\x7f')" (( "(") (binary_expression "cVar16 == '\x7f'" (identifier "cVar16") (== "==") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")")) (compound_statement "{\n              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);\n            }" ({ "{") (expression_statement "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);" (assignment_expression "iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)**(undefined4 **)(pcVar40 + 0x14)" (* "*") (cast_expression "(int *)**(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar40 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(pcVar40 + 0x14)" (* "*") (cast_expression "(undefined4 **)(pcVar40 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x14)" (( "(") (binary_expression "pcVar40 + 0x14" (identifier "pcVar40") (+ "+") (number_literal "0x14")) () ")")))))))) (; ";")) (} "}")) (else_clause "else {\n              iVar29 = 1;\n            }" (else "else") (compound_statement "{\n              iVar29 = 1;\n            }" ({ "{") (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" (identifier "iVar29") (= "=") (number_literal "1")) (; ";")) (} "}")))))) (expression_statement "param_5 = pcStack_19c;" (assignment_expression "param_5 = pcStack_19c" (identifier "param_5") (= "=") (identifier "pcStack_19c")) (; ";")) (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if (iVar29 <= iVar32) break;" (if "if") (parenthesized_expression "(iVar29 <= iVar32)" (( "(") (binary_expression "iVar29 <= iVar32" (identifier "iVar29") (<= "<=") (identifier "iVar32")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);" (assignment_expression "iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" (identifier "iVar29") (= "=") (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x73f4)" (* "*") (cast_expression "(code *)(iVar39 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x73f4)" (( "(") (binary_expression "iVar39 + -0x73f4" (identifier "iVar39") (+ "+") (number_literal "-0x73f4")) () ")")))) () ")")) (argument_list "(pcVar22,param_4,2)" (( "(") (identifier "pcVar22") (, ",") (identifier "param_4") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar43 = (code *)(iVar29 * 0x30);" (assignment_expression "pcVar43 = (code *)(iVar29 * 0x30)" (identifier "pcVar43") (= "=") (cast_expression "(code *)(iVar29 * 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 * 0x30)" (( "(") (binary_expression "iVar29 * 0x30" (identifier "iVar29") (* "*") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;" (assignment_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32" (pointer_expression "*(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" (* "*") (cast_expression "(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18)" (( "(") (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" (identifier "pcVar43") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar32")) (; ";")) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar29);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar29)" (identifier "FUN_000c4ac8") (argument_list "(pcVar26,pcVar22,iVar29)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "iVar29") () ")"))) (; ";")) (expression_statement "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;" (assignment_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120" (pointer_expression "*(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" (* "*") (cast_expression "(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10)" (( "(") (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" (identifier "pcVar43") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =\n                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcVar43 + *(int *)(pcVar22 + 0x14)" (identifier "pcVar43") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar40 = *(char **)(param_4 + 0xc);" (assignment_expression "pcVar40 = *(char **)(param_4 + 0xc)" (identifier "pcVar40") (= "=") (pointer_expression "*(char **)(param_4 + 0xc)" (* "*") (cast_expression "(char **)(param_4 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "cVar16 = *pcVar40;" (assignment_expression "cVar16 = *pcVar40" (identifier "cVar16") (= "=") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40"))) (; ";")) (if_statement "if (cVar16 == -0x5c) {\n              cVar16 = pcVar40[0x28];\n            }" (if "if") (parenthesized_expression "(cVar16 == -0x5c)" (( "(") (binary_expression "cVar16 == -0x5c" (identifier "cVar16") (== "==") (number_literal "-0x5c")) () ")")) (compound_statement "{\n              cVar16 = pcVar40[0x28];\n            }" ({ "{") (expression_statement "cVar16 = pcVar40[0x28];" (assignment_expression "cVar16 = pcVar40[0x28]" (identifier "cVar16") (= "=") (subscript_expression "pcVar40[0x28]" (identifier "pcVar40") ([ "[") (number_literal "0x28") (] "]"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_000c4d88:\n  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (statement_identifier "LAB_000c4d88") (: ":") (expression_statement "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);" (assignment_expression "pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20)" (identifier "pcStack_1a4") (= "=") (cast_expression "(code *)((ulonglong)uVar49 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar49 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar49 >> 0x20" (cast_expression "(ulonglong)uVar49" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar49")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "pcVar42 = (code *)uVar49;" (assignment_expression "pcVar42 = (code *)uVar49" (identifier "pcVar42") (= "=") (cast_expression "(code *)uVar49" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar49"))) (; ";")) (expression_statement "iVar32 = *(int *)(pcVar22 + 0x14);" (assignment_expression "iVar32 = *(int *)(pcVar22 + 0x14)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" (* "*") (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" (( "(") (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" (identifier "pcStack_19c") (+ "+") (identifier "iVar32")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x20)" (* "*") (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + iVar32 + 0x20)" (( "(") (binary_expression "pcStack_19c + iVar32 + 0x20" (binary_expression "pcStack_19c + iVar32" (identifier "pcStack_19c") (+ "+") (identifier "iVar32")) (+ "+") (number_literal "0x20")) () ")")))) (| "|") (identifier "uStack_198"))) (; ";")) (expression_statement "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;" (assignment_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" (* "*") (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" (( "(") (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" (identifier "pcStack_19c") (+ "+") (identifier "iVar32")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194" (pointer_expression "*(uint *)(pcStack_19c + iVar32 + 0x24)" (* "*") (cast_expression "(uint *)(pcStack_19c + iVar32 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + iVar32 + 0x24)" (( "(") (binary_expression "pcStack_19c + iVar32 + 0x24" (binary_expression "pcStack_19c + iVar32" (identifier "pcStack_19c") (+ "+") (identifier "iVar32")) (+ "+") (number_literal "0x24")) () ")")))) (| "|") (identifier "uStack_194"))) (; ";")) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" (identifier "pcVar27") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "uVar53 = uVar50;" (assignment_expression "uVar53 = uVar50" (identifier "uVar53") (= "=") (identifier "uVar50")) (; ";")) (expression_statement "uVar50 = CONCAT44(pcStack_190,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(pcStack_190,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(pcStack_190,pcStack_18c)" (identifier "CONCAT44") (argument_list "(pcStack_190,pcStack_18c)" (( "(") (identifier "pcStack_190") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (labeled_statement "LAB_000c4c58:\n  if (iStack_154 == *piVar5) {\n    return;\n  }" (statement_identifier "LAB_000c4c58") (: ":") (if_statement "if (iStack_154 == *piVar5) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_154 == *piVar5)" (( "(") (binary_expression "iStack_154 == *piVar5" (identifier "iStack_154") (== "==") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar47 + 0x96f48))();" (call_expression "(**(code **)(puVar47 + 0x96f48))()" (parenthesized_expression "(**(code **)(puVar47 + 0x96f48))" (( "(") (pointer_expression "**(code **)(puVar47 + 0x96f48)" (* "*") (pointer_expression "*(code **)(puVar47 + 0x96f48)" (* "*") (cast_expression "(code **)(puVar47 + 0x96f48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96f48)" (( "(") (binary_expression "puVar47 + 0x96f48" (identifier "puVar47") (+ "+") (number_literal "0x96f48")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" (identifier "pcVar46") (= "=") (identifier "param_5")) (; ";")) (labeled_statement "LAB_000c7158:\n  uVar13 = 0;" (statement_identifier "LAB_000c7158") (: ":") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_000c6df0:\n  uVar18 = 1 << (uVar13 & 0x1f);" (statement_identifier "LAB_000c6df0") (: ":") (expression_statement "uVar18 = 1 << (uVar13 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar13 & 0x1f)" (identifier "uVar18") (= "=") (binary_expression "1 << (uVar13 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar13 & 0x1f)" (( "(") (binary_expression "uVar13 & 0x1f" (identifier "uVar13") (& "&") (number_literal "0x1f")) () ")")))) (; ";"))) (if_statement "if ((uVar13 & 0x20) == 0) {\n    uVar13 = 0;\n  }\n  else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" (if "if") (parenthesized_expression "((uVar13 & 0x20) == 0)" (( "(") (binary_expression "(uVar13 & 0x20) == 0" (parenthesized_expression "(uVar13 & 0x20)" (( "(") (binary_expression "uVar13 & 0x20" (identifier "uVar13") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar13 = 0;\n  }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" (else "else") (compound_statement "{\n    uVar13 = uVar18;\n    uVar18 = 0;\n  }" ({ "{") (expression_statement "uVar13 = uVar18;" (assignment_expression "uVar13 = uVar18" (identifier "uVar13") (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "in_t2 = (code *)((uint)in_t2 | uVar18);" (assignment_expression "in_t2 = (code *)((uint)in_t2 | uVar18)" (identifier "in_t2") (= "=") (cast_expression "(code *)((uint)in_t2 | uVar18)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)in_t2 | uVar18)" (( "(") (binary_expression "(uint)in_t2 | uVar18" (cast_expression "(uint)in_t2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t2")) (| "|") (identifier "uVar18")) () ")")))) (; ";")) (expression_statement "in_t3 = (code *)((uint)in_t3 | uVar13);" (assignment_expression "in_t3 = (code *)((uint)in_t3 | uVar13)" (identifier "in_t3") (= "=") (cast_expression "(code *)((uint)in_t3 | uVar13)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)in_t3 | uVar13)" (( "(") (binary_expression "(uint)in_t3 | uVar13" (cast_expression "(uint)in_t3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t3")) (| "|") (identifier "uVar13")) () ")")))) (; ";")) (while_statement "while( true ) {\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);\n    pcVar48 = (code *)((int)uVar53 + 1);\n    pcVar31 = pcVar31 + 0x30;\n    if (pcVar37 == pcVar48) break;\nLAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);\n    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);" (assignment_expression "pcVar37 = (code *)((ulonglong)uVar53 >> 0x20)" (identifier "pcVar37") (= "=") (cast_expression "(code *)((ulonglong)uVar53 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar53 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar53 >> 0x20" (cast_expression "(ulonglong)uVar53" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar53")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "pcVar48 = (code *)((int)uVar53 + 1);" (assignment_expression "pcVar48 = (code *)((int)uVar53 + 1)" (identifier "pcVar48") (= "=") (cast_expression "(code *)((int)uVar53 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar53 + 1)" (( "(") (binary_expression "(int)uVar53 + 1" (cast_expression "(int)uVar53" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar53")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar31 = pcVar31 + 0x30;" (assignment_expression "pcVar31 = pcVar31 + 0x30" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + 0x30" (identifier "pcVar31") (+ "+") (number_literal "0x30"))) (; ";")) (if_statement "if (pcVar37 == pcVar48) break;" (if "if") (parenthesized_expression "(pcVar37 == pcVar48)" (( "(") (binary_expression "pcVar37 == pcVar48" (identifier "pcVar37") (== "==") (identifier "pcVar48")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_000c6d54:\n    uVar53 = CONCAT44(pcVar37,pcVar48);" (statement_identifier "LAB_000c6d54") (: ":") (expression_statement "uVar53 = CONCAT44(pcVar37,pcVar48);" (assignment_expression "uVar53 = CONCAT44(pcVar37,pcVar48)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar37,pcVar48)" (identifier "CONCAT44") (argument_list "(pcVar37,pcVar48)" (( "(") (identifier "pcVar37") (, ",") (identifier "pcVar48") () ")")))) (; ";"))) (if_statement "if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" (if "if") (parenthesized_expression "((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5))" (( "(") (binary_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||\n       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" (parenthesized_expression "(((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0))" (( "(") (binary_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&\n        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd)" (( "(") (binary_expression "(**(byte **)pcVar31 - 0x2d & 0xff) < 0xd" (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0xff)" (( "(") (binary_expression "**(byte **)pcVar31 - 0x2d & 0xff" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" (* "*") (pointer_expression "*(byte **)pcVar31" (* "*") (cast_expression "(byte **)pcVar31" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar31")))) (- "-") (number_literal "0x2d")) (& "&") (number_literal "0xff")) () ")")) (< "<") (number_literal "0xd")) () ")")) (&& "&&") (parenthesized_expression "((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)" (( "(") (binary_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0" (cast_expression "(int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f)" (( "(") (binary_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f" (parenthesized_expression "((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f))" (( "(") (binary_expression "(uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)" (cast_expression "(uint)in_t4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t4")) (>> ">>") (parenthesized_expression "(**(byte **)pcVar31 - 0x2d & 0x1f)" (( "(") (binary_expression "**(byte **)pcVar31 - 0x2d & 0x1f" (binary_expression "**(byte **)pcVar31 - 0x2d" (pointer_expression "**(byte **)pcVar31" (* "*") (pointer_expression "*(byte **)pcVar31" (* "*") (cast_expression "(byte **)pcVar31" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar31")))) (- "-") (number_literal "0x2d")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")"))) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)" (( "(") (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5" (binary_expression "(code *)(uint)*(ushort *)(pcVar31 + 0xc)" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(pcVar31 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0xc)" (( "(") (binary_expression "pcVar31 + 0xc" (identifier "pcVar31") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (identifier "in_t5")) () ")"))) () ")")) (compound_statement "{\n      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }\n    }" ({ "{") (if_statement "if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" (if "if") (parenthesized_expression "(0 < (int)*(uint *)(in_t6 + 0x1ec))" (( "(") (binary_expression "0 < (int)*(uint *)(in_t6 + 0x1ec)" (number_literal "0") (< "<") (cast_expression "(int)*(uint *)(in_t6 + 0x1ec)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(uint *)(in_t6 + 0x1ec)" (* "*") (cast_expression "(uint *)(in_t6 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t6 + 0x1ec)" (( "(") (binary_expression "in_t6 + 0x1ec" (identifier "in_t6") (+ "+") (number_literal "0x1ec")) () ")")))))) () ")")) (compound_statement "{\n        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;\n        uVar18 = 1;\n        pcVar22 = in_t6 + 500;\n        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;" (if "if") (parenthesized_expression "(*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14))" (( "(") (binary_expression "*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)" (pointer_expression "*(int *)(in_t6 + 0x1f0)" (* "*") (cast_expression "(int *)(in_t6 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t6 + 0x1f0)" (( "(") (binary_expression "in_t6 + 0x1f0" (identifier "in_t6") (+ "+") (number_literal "0x1f0")) () ")")))) (== "==") (pointer_expression "*(int *)(pcVar31 + 0x14)" (* "*") (cast_expression "(int *)(pcVar31 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x14)" (( "(") (binary_expression "pcVar31 + 0x14" (identifier "pcVar31") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (goto_statement "goto LAB_000c7158;" (goto "goto") (statement_identifier "LAB_000c7158") (; ";"))) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar22 = in_t6 + 500;" (assignment_expression "pcVar22 = in_t6 + 500" (identifier "pcVar22") (= "=") (binary_expression "in_t6 + 500" (identifier "in_t6") (+ "+") (number_literal "500"))) (; ";")) (while_statement "while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" (while "while") (parenthesized_expression "(uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec))" (( "(") (comma_expression "uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)" (assignment_expression "uVar13 = uVar18" (identifier "uVar13") (= "=") (identifier "uVar18")) (, ",") (binary_expression "uVar13 != *(uint *)(in_t6 + 0x1ec)" (identifier "uVar13") (!= "!=") (pointer_expression "*(uint *)(in_t6 + 0x1ec)" (* "*") (cast_expression "(uint *)(in_t6 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t6 + 0x1ec)" (( "(") (binary_expression "in_t6 + 0x1ec" (identifier "in_t6") (+ "+") (number_literal "0x1ec")) () ")")))))) () ")")) (compound_statement "{\n          iVar32 = *(int *)pcVar22;\n          uVar18 = uVar13 + 1;\n          pcVar22 = pcVar22 + 4;\n          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;\n        }" ({ "{") (expression_statement "iVar32 = *(int *)pcVar22;" (assignment_expression "iVar32 = *(int *)pcVar22" (identifier "iVar32") (= "=") (pointer_expression "*(int *)pcVar22" (* "*") (cast_expression "(int *)pcVar22" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "uVar18 = uVar13 + 1;" (assignment_expression "uVar18 = uVar13 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar22 = pcVar22 + 4;" (assignment_expression "pcVar22 = pcVar22 + 4" (identifier "pcVar22") (= "=") (binary_expression "pcVar22 + 4" (identifier "pcVar22") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;" (if "if") (parenthesized_expression "(*(int *)(pcVar31 + 0x14) == iVar32)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x14) == iVar32" (pointer_expression "*(int *)(pcVar31 + 0x14)" (* "*") (cast_expression "(int *)(pcVar31 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x14)" (( "(") (binary_expression "pcVar31 + 0x14" (identifier "pcVar31") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (identifier "iVar32")) () ")")) (goto_statement "goto LAB_000c6df0;" (goto "goto") (statement_identifier "LAB_000c6df0") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" (identifier "param_5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3)" (identifier "pcStack_188") (= "=") (cast_expression "(code *)((uint)pcStack_188 & (uint)in_t3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcStack_188 & (uint)in_t3)" (( "(") (binary_expression "(uint)pcStack_188 & (uint)in_t3" (cast_expression "(uint)pcStack_188" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_188")) (& "&") (cast_expression "(uint)in_t3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t3"))) () ")")))) (; ";")) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2)" (identifier "pcStack_184") (= "=") (cast_expression "(code *)((uint)pcStack_184 & (uint)in_t2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcStack_184 & (uint)in_t2)" (( "(") (binary_expression "(uint)pcStack_184 & (uint)in_t2" (cast_expression "(uint)pcStack_184" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_184")) (& "&") (cast_expression "(uint)in_t2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t2"))) () ")")))) (; ";")) (expression_statement "pcVar22 = pcVar27;" (assignment_expression "pcVar22 = pcVar27" (identifier "pcVar22") (= "=") (identifier "pcVar27")) (; ";")) (while_statement "while( true ) {\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pcVar42 = pcVar42 + -1;\n    pcVar46 = pcVar46 + 0x30;\n    if (pcVar42 == pcVar38) break;\n    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;\nLAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);\n    pcStack_18c = (code *)uVar50;\n    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }\n    uVar23 = *(ushort *)(pcVar46 + 10);\n    if ((uVar23 & 8) != 0) goto LAB_000c5b24;\n    pcVar31 = (code *)(uVar23 & 2);\n    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);\n    if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }\nLAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);\n    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);\n    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }\n  }" ({ "{") (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" (identifier "pcVar42") (= "=") (binary_expression "pcVar42 + -1" (identifier "pcVar42") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + 0x30" (identifier "pcVar46") (+ "+") (number_literal "0x30"))) (; ";")) (if_statement "if (pcVar42 == pcVar38) break;" (if "if") (parenthesized_expression "(pcVar42 == pcVar38)" (( "(") (binary_expression "pcVar42 == pcVar38" (identifier "pcVar42") (== "==") (identifier "pcVar38")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;" (if "if") (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" (( "(") (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" (identifier "pcStack_188") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "pcStack_184 == (code *)0x0" (identifier "pcStack_184") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (goto_statement "goto LAB_000c5efc;" (goto "goto") (statement_identifier "LAB_000c5efc") (; ";"))) (labeled_statement "LAB_000c5ae4:\n    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (statement_identifier "LAB_000c5ae4") (: ":") (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar50")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)uVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar50"))) (; ";")) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" (if "if") (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0)" (( "(") (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 0x1ff)" (( "(") (binary_expression "*(ushort *)(pcVar46 + 0xc) & 0x1ff" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar46 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x1ff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }\n      pcVar31 = (code *)0x198;\n      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);\n      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;\n      pcVar27 = *(code **)(puVar47 + 0x96eec);\n      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;\n      *(undefined2 *)(pcVar46 + 0xc) = 0x400;\n      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;\n      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);\n      uVar9 = *(undefined4 *)pcVar22;\n      *(undefined1 *)((int)puVar20 + 9) = 0;\n      *puVar20 = uVar9;\n      puVar20[1] = 0;\n      puVar20[3] = 0;\n      puVar20[4] = 8;\n      puVar20[5] = uVar8;\n      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);\n      pcVar27 = (code *)(puVar20[3] + -1);\n      in_t4 = param_5;\n      if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }\n      puVar20[1] = pcVar22;\n      if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }\n      pcVar37 = (code *)puVar20[3];\n      pcVar31 = (code *)puVar20[5];\n      if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }\n      pcVar48 = (code *)0x0;\n      in_t3 = (code *)0x0;\n      in_t2 = (code *)0x0;\n      in_t5 = (code *)0x40;\n      in_t4 = (code *)0x1f31;\n      in_t6 = pcStack_1a4;\n      pcVar27 = pcVar22;\n      goto LAB_000c6d54;\n    }" ({ "{") (if_statement "if (param_1[0x51] != (code)0x0) {\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" (if "if") (parenthesized_expression "(param_1[0x51] != (code)0x0)" (( "(") (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" (identifier "param_1") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000c5b1c:\n        uVar13 = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5b24;\n      }" ({ "{") (labeled_statement "LAB_000c5b1c:\n        uVar13 = 0;" (statement_identifier "LAB_000c5b1c") (: ":") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";"))) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" (identifier "param_5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000c5b24;" (goto "goto") (statement_identifier "LAB_000c5b24") (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)0x198;" (assignment_expression "pcVar31 = (code *)0x198" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x198"))) (; ";")) (expression_statement "puVar20 = (undefined4 *)(*pcStack_17c)(param_1);" (assignment_expression "puVar20 = (undefined4 *)(*pcStack_17c)(param_1)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)(*pcStack_17c)(param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_17c)(param_1)" (parenthesized_expression "(*pcStack_17c)" (( "(") (pointer_expression "*pcStack_17c" (* "*") (identifier "pcStack_17c")) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;" (if "if") (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar20 == (undefined4 *)0x0" (identifier "puVar20") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5b1c;" (goto "goto") (statement_identifier "LAB_000c5b1c") (; ";"))) (expression_statement "pcVar27 = *(code **)(puVar47 + 0x96eec);" (assignment_expression "pcVar27 = *(code **)(puVar47 + 0x96eec)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar47 + 0x96eec)" (* "*") (cast_expression "(code **)(puVar47 + 0x96eec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96eec)" (( "(") (binary_expression "puVar47 + 0x96eec" (identifier "puVar47") (+ "+") (number_literal "0x96eec")) () ")"))))) (; ";")) (expression_statement "*(undefined4 **)(pcVar46 + 0x1c) = puVar20;" (assignment_expression "*(undefined4 **)(pcVar46 + 0x1c) = puVar20" (pointer_expression "*(undefined4 **)(pcVar46 + 0x1c)" (* "*") (cast_expression "(undefined4 **)(pcVar46 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + 0x1c)" (( "(") (binary_expression "pcVar46 + 0x1c" (identifier "pcVar46") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "puVar20")) (; ";")) (expression_statement "*(undefined2 *)(pcVar46 + 0xc) = 0x400;" (assignment_expression "*(undefined2 *)(pcVar46 + 0xc) = 0x400" (pointer_expression "*(undefined2 *)(pcVar46 + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcVar46 + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;" (assignment_expression "*(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar46 + 10) | 0x20" (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);" (assignment_expression "uVar8 = (*pcVar27)(puVar20 + 6,0,0x180)" (identifier "uVar8") (= "=") (call_expression "(*pcVar27)(puVar20 + 6,0,0x180)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(puVar20 + 6,0,0x180)" (( "(") (binary_expression "puVar20 + 6" (identifier "puVar20") (+ "+") (number_literal "6")) (, ",") (number_literal "0") (, ",") (number_literal "0x180") () ")")))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)pcVar22;" (assignment_expression "uVar9 = *(undefined4 *)pcVar22" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)pcVar22" (* "*") (cast_expression "(undefined4 *)pcVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar22")))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar20 + 9) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 9) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 9)" (* "*") (cast_expression "(undefined1 *)((int)puVar20 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 9)" (( "(") (binary_expression "(int)puVar20 + 9" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar20 = uVar9;" (assignment_expression "*puVar20 = uVar9" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar20[1] = 0;" (assignment_expression "puVar20[1] = 0" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar20[3] = 0;" (assignment_expression "puVar20[3] = 0" (subscript_expression "puVar20[3]" (identifier "puVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar20[4] = 8;" (assignment_expression "puVar20[4] = 8" (subscript_expression "puVar20[4]" (identifier "puVar20") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "puVar20[5] = uVar8;" (assignment_expression "puVar20[5] = uVar8" (subscript_expression "puVar20[5]" (identifier "puVar20") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);" (call_expression "(*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c)" (parenthesized_expression "(*pcStack_174)" (( "(") (pointer_expression "*pcStack_174" (* "*") (identifier "pcStack_174")) () ")")) (argument_list "(puVar20,*(undefined4 *)pcVar46,0x2c)" (( "(") (identifier "puVar20") (, ",") (pointer_expression "*(undefined4 *)pcVar46" (* "*") (cast_expression "(undefined4 *)pcVar46" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar46"))) (, ",") (number_literal "0x2c") () ")"))) (; ";")) (expression_statement "pcVar27 = (code *)(puVar20[3] + -1);" (assignment_expression "pcVar27 = (code *)(puVar20[3] + -1)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(puVar20[3] + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20[3] + -1)" (( "(") (binary_expression "puVar20[3] + -1" (subscript_expression "puVar20[3]" (identifier "puVar20") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (-1 < (int)pcVar27) {\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" (if "if") (parenthesized_expression "(-1 < (int)pcVar27)" (( "(") (binary_expression "-1 < (int)pcVar27" (number_literal "-1") (< "<") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) () ")")) (compound_statement "{\n        do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);\n      }" ({ "{") (do_statement "do {\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        } while (pcVar48 != pcVar38);" (do "do") (compound_statement "{\n          pcVar48 = pcVar27 + -1;\n          (*pcStack_190)(pcVar26,puVar20,pcVar27);\n          in_t4 = param_5;\n          pcVar27 = pcVar48;\n        }" ({ "{") (expression_statement "pcVar48 = pcVar27 + -1;" (assignment_expression "pcVar48 = pcVar27 + -1" (identifier "pcVar48") (= "=") (binary_expression "pcVar27 + -1" (identifier "pcVar27") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "(*pcStack_190)(pcVar26,puVar20,pcVar27);" (call_expression "(*pcStack_190)(pcVar26,puVar20,pcVar27)" (parenthesized_expression "(*pcStack_190)" (( "(") (pointer_expression "*pcStack_190" (* "*") (identifier "pcStack_190")) () ")")) (argument_list "(pcVar26,puVar20,pcVar27)" (( "(") (identifier "pcVar26") (, ",") (identifier "puVar20") (, ",") (identifier "pcVar27") () ")"))) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pcVar27 = pcVar48;" (assignment_expression "pcVar27 = pcVar48" (identifier "pcVar27") (= "=") (identifier "pcVar48")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar48 != pcVar38)" (( "(") (binary_expression "pcVar48 != pcVar38" (identifier "pcVar48") (!= "!=") (identifier "pcVar38")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar20[1] = pcVar22;" (assignment_expression "puVar20[1] = pcVar22" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (param_1[0x51] != (code)0x0) {\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" (if "if") (parenthesized_expression "(param_1[0x51] != (code)0x0)" (( "(") (binary_expression "param_1[0x51] != (code)0x0" (subscript_expression "param_1[0x51]" (identifier "param_1") ([ "[") (number_literal "0x51") (] "]")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }\nLAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;\n        pcVar27 = pcVar38;\n        param_5 = pcVar46;\n        goto LAB_000c5c2c;\n      }" ({ "{") (if_statement "if (pcVar42 != (code *)0x0) {\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" (if "if") (parenthesized_expression "(pcVar42 != (code *)0x0)" (( "(") (binary_expression "pcVar42 != (code *)0x0" (identifier "pcVar42") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar13 = 0;\n          param_5 = (code *)0x0;\n          goto LAB_000c5efc;\n        }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" (identifier "param_5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000c5efc;" (goto "goto") (statement_identifier "LAB_000c5efc") (; ";")) (} "}"))) (labeled_statement "LAB_000c7130:\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;" (statement_identifier "LAB_000c7130") (: ":") (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x19c)" (( "(") (binary_expression "pcVar43 + 0x19c" (identifier "pcVar43") (+ "+") (number_literal "0x19c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x198)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x198)" (( "(") (binary_expression "pcVar43 + 0x198" (identifier "pcVar43") (+ "+") (number_literal "0x198")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_18c + 0xc)" (( "(") (binary_expression "pcStack_18c + 0xc" (identifier "pcStack_18c") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x200")) (; ";")) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" (identifier "pcVar27") (= "=") (identifier "pcVar38")) (; ";")) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" (identifier "param_5") (= "=") (identifier "pcVar46")) (; ";")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";")) (} "}"))) (expression_statement "pcVar37 = (code *)puVar20[3];" (assignment_expression "pcVar37 = (code *)puVar20[3]" (identifier "pcVar37") (= "=") (cast_expression "(code *)puVar20[3]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[3]" (identifier "puVar20") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pcVar31 = (code *)puVar20[5];" (assignment_expression "pcVar31 = (code *)puVar20[5]" (identifier "pcVar31") (= "=") (cast_expression "(code *)puVar20[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[5]" (identifier "puVar20") ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if ((int)pcVar37 < 1) {\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" (if "if") (parenthesized_expression "((int)pcVar37 < 1)" (( "(") (binary_expression "(int)pcVar37 < 1" (cast_expression "(int)pcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar37")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        if (pcVar42 != (code *)0x0) goto LAB_000c7130;\n        *(undefined4 *)(pcVar43 + 0x19c) = 0;\n        uVar13 = 0;\n        *(undefined4 *)(pcVar43 + 0x198) = 0;\n        param_5 = (code *)0x0;\n        goto LAB_000c5f04;\n      }" ({ "{") (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c7130;" (if "if") (parenthesized_expression "(pcVar42 != (code *)0x0)" (( "(") (binary_expression "pcVar42 != (code *)0x0" (identifier "pcVar42") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c7130;" (goto "goto") (statement_identifier "LAB_000c7130") (; ";"))) (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x19c)" (( "(") (binary_expression "pcVar43 + 0x19c" (identifier "pcVar43") (+ "+") (number_literal "0x19c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x198)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x198)" (( "(") (binary_expression "pcVar43 + 0x198" (identifier "pcVar43") (+ "+") (number_literal "0x198")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" (identifier "param_5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000c5f04;" (goto "goto") (statement_identifier "LAB_000c5f04") (; ";")) (} "}"))) (expression_statement "pcVar48 = (code *)0x0;" (assignment_expression "pcVar48 = (code *)0x0" (identifier "pcVar48") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "in_t3 = (code *)0x0;" (assignment_expression "in_t3 = (code *)0x0" (identifier "in_t3") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "in_t2 = (code *)0x0;" (assignment_expression "in_t2 = (code *)0x0" (identifier "in_t2") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "in_t5 = (code *)0x40;" (assignment_expression "in_t5 = (code *)0x40" (identifier "in_t5") (= "=") (cast_expression "(code *)0x40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x40"))) (; ";")) (expression_statement "in_t4 = (code *)0x1f31;" (assignment_expression "in_t4 = (code *)0x1f31" (identifier "in_t4") (= "=") (cast_expression "(code *)0x1f31" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1f31"))) (; ";")) (expression_statement "in_t6 = pcStack_1a4;" (assignment_expression "in_t6 = pcStack_1a4" (identifier "in_t6") (= "=") (identifier "pcStack_1a4")) (; ";")) (expression_statement "pcVar27 = pcVar22;" (assignment_expression "pcVar27 = pcVar22" (identifier "pcVar27") (= "=") (identifier "pcVar22")) (; ";")) (goto_statement "goto LAB_000c6d54;" (goto "goto") (statement_identifier "LAB_000c6d54") (; ";")) (} "}"))) (expression_statement "uVar23 = *(ushort *)(pcVar46 + 10);" (assignment_expression "uVar23 = *(ushort *)(pcVar46 + 10)" (identifier "uVar23") (= "=") (pointer_expression "*(ushort *)(pcVar46 + 10)" (* "*") (cast_expression "(ushort *)(pcVar46 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 10)" (( "(") (binary_expression "pcVar46 + 10" (identifier "pcVar46") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (if_statement "if ((uVar23 & 8) != 0) goto LAB_000c5b24;" (if "if") (parenthesized_expression "((uVar23 & 8) != 0)" (( "(") (binary_expression "(uVar23 & 8) != 0" (parenthesized_expression "(uVar23 & 8)" (( "(") (binary_expression "uVar23 & 8" (identifier "uVar23") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5b24;" (goto "goto") (statement_identifier "LAB_000c5b24") (; ";"))) (expression_statement "pcVar31 = (code *)(uVar23 & 2);" (assignment_expression "pcVar31 = (code *)(uVar23 & 2)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(uVar23 & 2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar23 & 2)" (( "(") (binary_expression "uVar23 & 2" (identifier "uVar23") (& "&") (number_literal "2")) () ")")))) (; ";")) (expression_statement "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);" (assignment_expression "uVar18 = *(uint *)(pcStack_1a4 + 0x1ec)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" (* "*") (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a4 + 0x1ec)" (( "(") (binary_expression "pcStack_1a4 + 0x1ec" (identifier "pcStack_1a4") (+ "+") (number_literal "0x1ec")) () ")"))))) (; ";")) (if_statement "if ((int)uVar18 < 1) {\n      uVar34 = 0;\n      uVar21 = 0;\n    }\n    else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" (if "if") (parenthesized_expression "((int)uVar18 < 1)" (( "(") (binary_expression "(int)uVar18 < 1" (cast_expression "(int)uVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar18")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      uVar34 = 0;\n      uVar21 = 0;\n    }" ({ "{") (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" (else "else") (compound_statement "{\n      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);\n      if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }\n      uVar11 = 1 << (uVar21 & 0x1f);\n      if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }\nLAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }\n    }" ({ "{") (expression_statement "in_t2 = *(code **)(pcStack_1a4 + 0x1f0);" (assignment_expression "in_t2 = *(code **)(pcStack_1a4 + 0x1f0)" (identifier "in_t2") (= "=") (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" (* "*") (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a4 + 0x1f0)" (( "(") (binary_expression "pcStack_1a4 + 0x1f0" (identifier "pcStack_1a4") (+ "+") (number_literal "0x1f0")) () ")"))))) (; ";")) (if_statement "if (*(code **)(pcVar46 + 0x14) == in_t2) {\n        uVar21 = 0;\n      }\n      else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" (if "if") (parenthesized_expression "(*(code **)(pcVar46 + 0x14) == in_t2)" (( "(") (binary_expression "*(code **)(pcVar46 + 0x14) == in_t2" (pointer_expression "*(code **)(pcVar46 + 0x14)" (* "*") (cast_expression "(code **)(pcVar46 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + 0x14)" (( "(") (binary_expression "pcVar46 + 0x14" (identifier "pcVar46") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (identifier "in_t2")) () ")")) (compound_statement "{\n        uVar21 = 0;\n      }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" (else "else") (compound_statement "{\n        uVar21 = 0;\n        pcVar27 = pcStack_1a4 + 500;\n        do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);\n      }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" (identifier "pcVar27") (= "=") (binary_expression "pcStack_1a4 + 500" (identifier "pcStack_1a4") (+ "+") (number_literal "500"))) (; ";")) (do_statement "do {\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        } while (*(code **)(pcVar46 + 0x14) != pcVar48);" (do "do") (compound_statement "{\n          uVar21 = uVar21 + 1;\n          if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }\n          pcVar48 = *(code **)pcVar27;\n          pcVar27 = pcVar27 + 4;\n        }" ({ "{") (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar21 == uVar18) {\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" (if "if") (parenthesized_expression "(uVar21 == uVar18)" (( "(") (binary_expression "uVar21 == uVar18" (identifier "uVar21") (== "==") (identifier "uVar18")) () ")")) (compound_statement "{\n            uVar21 = 0;\n            uVar34 = 0;\n            goto LAB_000c6208;\n          }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000c6208;" (goto "goto") (statement_identifier "LAB_000c6208") (; ";")) (} "}"))) (expression_statement "pcVar48 = *(code **)pcVar27;" (assignment_expression "pcVar48 = *(code **)pcVar27" (identifier "pcVar48") (= "=") (pointer_expression "*(code **)pcVar27" (* "*") (cast_expression "(code **)pcVar27" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar27")))) (; ";")) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" (identifier "pcVar27") (= "=") (binary_expression "pcVar27 + 4" (identifier "pcVar27") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(code **)(pcVar46 + 0x14) != pcVar48)" (( "(") (binary_expression "*(code **)(pcVar46 + 0x14) != pcVar48" (pointer_expression "*(code **)(pcVar46 + 0x14)" (* "*") (cast_expression "(code **)(pcVar46 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + 0x14)" (( "(") (binary_expression "pcVar46 + 0x14" (identifier "pcVar46") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (identifier "pcVar48")) () ")")) (; ";")) (} "}")))) (expression_statement "uVar11 = 1 << (uVar21 & 0x1f);" (assignment_expression "uVar11 = 1 << (uVar21 & 0x1f)" (identifier "uVar11") (= "=") (binary_expression "1 << (uVar21 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar21 & 0x1f)" (( "(") (binary_expression "uVar21 & 0x1f" (identifier "uVar21") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((uVar21 & 0x20) == 0) {\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }\n      else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" (if "if") (parenthesized_expression "((uVar21 & 0x20) == 0)" (( "(") (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" (( "(") (binary_expression "uVar21 & 0x20" (identifier "uVar21") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar34 = 0;\n        uVar21 = uVar11;\n      }" ({ "{") (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = uVar11;" (assignment_expression "uVar21 = uVar11" (identifier "uVar21") (= "=") (identifier "uVar11")) (; ";")) (} "}")) (else_clause "else {\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" (else "else") (compound_statement "{\n        uVar21 = 0;\n        uVar34 = uVar11;\n      }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = uVar11;" (assignment_expression "uVar34 = uVar11" (identifier "uVar34") (= "=") (identifier "uVar11")) (; ";")) (} "}")))) (labeled_statement "LAB_000c6208:\n      if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" (statement_identifier "LAB_000c6208") (: ":") (if_statement "if ((uVar23 & 2) != 0) {\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" (if "if") (parenthesized_expression "((uVar23 & 2) != 0)" (( "(") (binary_expression "(uVar23 & 2) != 0" (parenthesized_expression "(uVar23 & 2)" (( "(") (binary_expression "uVar23 & 2" (identifier "uVar23") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar31 = *(code **)(pcVar46 + 0x10);\n        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);\n        uVar11 = 0;\n        if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }\n        uVar18 = 1 << (uVar11 & 0x1f);\n        if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }\n        uVar21 = uVar21 | uVar18;\n        uVar34 = uVar34 | uVar11;\n      }" ({ "{") (expression_statement "pcVar31 = *(code **)(pcVar46 + 0x10);" (assignment_expression "pcVar31 = *(code **)(pcVar46 + 0x10)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar46 + 0x10)" (* "*") (cast_expression "(code **)(pcVar46 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + 0x10)" (( "(") (binary_expression "pcVar46 + 0x10" (identifier "pcVar46") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);" (assignment_expression "pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" (* "*") (cast_expression "(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14)" (( "(") (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14" (binary_expression "*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30" (pointer_expression "*(int *)(pcVar43 + 0x14)" (* "*") (cast_expression "(int *)(pcVar43 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)pcVar31 * 0x30" (cast_expression "(int)pcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar31")) (* "*") (number_literal "0x30"))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar37 != in_t2) {\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" (if "if") (parenthesized_expression "(pcVar37 != in_t2)" (( "(") (binary_expression "pcVar37 != in_t2" (identifier "pcVar37") (!= "!=") (identifier "in_t2")) () ")")) (compound_statement "{\n          uVar4 = 1;\n          pcVar27 = pcStack_1a4 + 500;\n          do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);\n        }" ({ "{") (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar27 = pcStack_1a4 + 500;" (assignment_expression "pcVar27 = pcStack_1a4 + 500" (identifier "pcVar27") (= "=") (binary_expression "pcStack_1a4 + 500" (identifier "pcStack_1a4") (+ "+") (number_literal "500"))) (; ";")) (do_statement "do {\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          } while (pcVar31 != pcVar37);" (do "do") (compound_statement "{\n            uVar11 = uVar4;\n            if (uVar11 == uVar18) goto LAB_000c6210;\n            pcVar31 = *(code **)pcVar27;\n            uVar4 = uVar11 + 1;\n            pcVar27 = pcVar27 + 4;\n          }" ({ "{") (expression_statement "uVar11 = uVar4;" (assignment_expression "uVar11 = uVar4" (identifier "uVar11") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (uVar11 == uVar18) goto LAB_000c6210;" (if "if") (parenthesized_expression "(uVar11 == uVar18)" (( "(") (binary_expression "uVar11 == uVar18" (identifier "uVar11") (== "==") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_000c6210;" (goto "goto") (statement_identifier "LAB_000c6210") (; ";"))) (expression_statement "pcVar31 = *(code **)pcVar27;" (assignment_expression "pcVar31 = *(code **)pcVar27" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)pcVar27" (* "*") (cast_expression "(code **)pcVar27" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar27")))) (; ";")) (expression_statement "uVar4 = uVar11 + 1;" (assignment_expression "uVar4 = uVar11 + 1" (identifier "uVar4") (= "=") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar27 = pcVar27 + 4;" (assignment_expression "pcVar27 = pcVar27 + 4" (identifier "pcVar27") (= "=") (binary_expression "pcVar27 + 4" (identifier "pcVar27") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar31 != pcVar37)" (( "(") (binary_expression "pcVar31 != pcVar37" (identifier "pcVar31") (!= "!=") (identifier "pcVar37")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar18 = 1 << (uVar11 & 0x1f);" (assignment_expression "uVar18 = 1 << (uVar11 & 0x1f)" (identifier "uVar18") (= "=") (binary_expression "1 << (uVar11 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar11 & 0x1f)" (( "(") (binary_expression "uVar11 & 0x1f" (identifier "uVar11") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((uVar11 & 0x20) == 0) {\n          uVar11 = 0;\n        }\n        else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" (if "if") (parenthesized_expression "((uVar11 & 0x20) == 0)" (( "(") (binary_expression "(uVar11 & 0x20) == 0" (parenthesized_expression "(uVar11 & 0x20)" (( "(") (binary_expression "uVar11 & 0x20" (identifier "uVar11") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar11 = 0;\n        }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" (else "else") (compound_statement "{\n          uVar11 = uVar18;\n          uVar18 = 0;\n        }" ({ "{") (expression_statement "uVar11 = uVar18;" (assignment_expression "uVar11 = uVar18" (identifier "uVar11") (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uVar21 = uVar21 | uVar18;" (assignment_expression "uVar21 = uVar21 | uVar18" (identifier "uVar21") (= "=") (binary_expression "uVar21 | uVar18" (identifier "uVar21") (| "|") (identifier "uVar18"))) (; ";")) (expression_statement "uVar34 = uVar34 | uVar11;" (assignment_expression "uVar34 = uVar34 | uVar11" (identifier "uVar34") (= "=") (binary_expression "uVar34 | uVar11" (identifier "uVar34") (| "|") (identifier "uVar11"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000c6210:\n    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" (statement_identifier "LAB_000c6210") (: ":") (expression_statement "pcStack_188 = (code *)((uint)pcStack_188 & uVar34);" (assignment_expression "pcStack_188 = (code *)((uint)pcStack_188 & uVar34)" (identifier "pcStack_188") (= "=") (cast_expression "(code *)((uint)pcStack_188 & uVar34)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcStack_188 & uVar34)" (( "(") (binary_expression "(uint)pcStack_188 & uVar34" (cast_expression "(uint)pcStack_188" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_188")) (& "&") (identifier "uVar34")) () ")")))) (; ";"))) (expression_statement "pcStack_184 = (code *)((uint)pcStack_184 & uVar21);" (assignment_expression "pcStack_184 = (code *)((uint)pcStack_184 & uVar21)" (identifier "pcStack_184") (= "=") (cast_expression "(code *)((uint)pcStack_184 & uVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcStack_184 & uVar21)" (( "(") (binary_expression "(uint)pcStack_184 & uVar21" (cast_expression "(uint)pcStack_184" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcStack_184")) (& "&") (identifier "uVar21")) () ")")))) (; ";")) (if_statement "if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }\n    else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" (if "if") (parenthesized_expression "((*(ushort *)(pcVar46 + 0xc) & 2) == 0)" (( "(") (binary_expression "(*(ushort *)(pcVar46 + 0xc) & 2) == 0" (parenthesized_expression "(*(ushort *)(pcVar46 + 0xc) & 2)" (( "(") (binary_expression "*(ushort *)(pcVar46 + 0xc) & 2" (pointer_expression "*(ushort *)(pcVar46 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar46 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + 0xc)" (( "(") (binary_expression "pcVar46 + 0xc" (identifier "pcVar46") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = 0;\n      param_5 = (code *)0x0;\n    }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5 = (code *)0x0;" (assignment_expression "param_5 = (code *)0x0" (identifier "param_5") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" (else "else") (compound_statement "{\n      uVar13 = uVar13 & uVar34;\n      param_5 = (code *)((uint)param_5 & uVar21);\n    }" ({ "{") (expression_statement "uVar13 = uVar13 & uVar34;" (assignment_expression "uVar13 = uVar13 & uVar34" (identifier "uVar13") (= "=") (binary_expression "uVar13 & uVar34" (identifier "uVar13") (& "&") (identifier "uVar34"))) (; ";")) (expression_statement "param_5 = (code *)((uint)param_5 & uVar21);" (assignment_expression "param_5 = (code *)((uint)param_5 & uVar21)" (identifier "param_5") (= "=") (cast_expression "(code *)((uint)param_5 & uVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)param_5 & uVar21)" (( "(") (binary_expression "(uint)param_5 & uVar21" (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5")) (& "&") (identifier "uVar21")) () ")")))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_000c5b30:\n  pcStack_18c = (code *)uVar50;" (statement_identifier "LAB_000c5b30") (: ":") (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)uVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar50"))) (; ";"))) (expression_statement "*(code **)(pcVar43 + 0x198) = pcStack_188;" (assignment_expression "*(code **)(pcVar43 + 0x198) = pcStack_188" (pointer_expression "*(code **)(pcVar43 + 0x198)" (* "*") (cast_expression "(code **)(pcVar43 + 0x198)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x198)" (( "(") (binary_expression "pcVar43 + 0x198" (identifier "pcVar43") (+ "+") (number_literal "0x198")) () ")")))) (= "=") (identifier "pcStack_188")) (; ";")) (expression_statement "*(code **)(pcVar43 + 0x19c) = pcStack_184;" (assignment_expression "*(code **)(pcVar43 + 0x19c) = pcStack_184" (pointer_expression "*(code **)(pcVar43 + 0x19c)" (* "*") (cast_expression "(code **)(pcVar43 + 0x19c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x19c)" (( "(") (binary_expression "pcVar43 + 0x19c" (identifier "pcVar43") (+ "+") (number_literal "0x19c")) () ")")))) (= "=") (identifier "pcStack_184")) (; ";")) (if_statement "if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;" (if "if") (parenthesized_expression "(pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0)" (( "(") (binary_expression "pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0" (binary_expression "pcStack_188 == (code *)0x0" (identifier "pcStack_188") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "pcStack_184 == (code *)0x0" (identifier "pcStack_184") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (goto_statement "goto LAB_000c5f04;" (goto "goto") (statement_identifier "LAB_000c5f04") (; ";"))) (expression_statement "*(undefined2 *)(pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)(pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)(pcStack_18c + 0xc)" (* "*") (cast_expression "(undefined2 *)(pcStack_18c + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_18c + 0xc)" (( "(") (binary_expression "pcStack_18c + 0xc" (identifier "pcStack_18c") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x200")) (; ";")) (expression_statement "pcVar22[9] = (code)0x1;" (assignment_expression "pcVar22[9] = (code)0x1" (subscript_expression "pcVar22[9]" (identifier "pcVar22") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (*(int *)(pcVar43 + 0xc) == 2) {\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(*(int *)(pcVar43 + 0xc) == 2)" (( "(") (binary_expression "*(int *)(pcVar43 + 0xc) == 2" (pointer_expression "*(int *)(pcVar43 + 0xc)" (* "*") (cast_expression "(int *)(pcVar43 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);\n    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);\n    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);\n    pcVar27 = (code *)0x0;\nLAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);\n    uVar53 = CONCAT44(param_1,pcStack_18c);\n    uVar50 = CONCAT44(param_1,pcStack_18c);\n    pcStack_18c = pcVar27 + 1;\n    in_t4 = param_5;\n    pcVar46 = param_5;\n    if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }\n    pcVar42 = *(code **)(puVar47 + 0x96dac);\n    pcVar38 = (code *)0x0;\n    sVar28 = *(short *)(piVar41 + 0xf);\n    pcStack_184 = pcVar42 + 0x4ac8;\n    iVar32 = 0;\n    do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );\n  }" ({ "{") (labeled_statement "LAB_000c6e58:\n    piVar41 = *(int **)(pcVar43 + 0x14);" (statement_identifier "LAB_000c6e58") (: ":") (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" (identifier "piVar41") (= "=") (pointer_expression "*(int **)(pcVar43 + 0x14)" (* "*") (cast_expression "(int **)(pcVar43 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (expression_statement "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (identifier "pcStack_188") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c4c)" (( "(") (binary_expression "puVar47 + 0x96c4c" (identifier "puVar47") (+ "+") (number_literal "0x96c4c")) () ")")))) (+ "+") (number_literal "-0x429c")) () ")")))) (; ";")) (expression_statement "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);" (assignment_expression "pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (identifier "pcStack_17c") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x271c")) () ")")))) (; ";")) (expression_statement "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);" (assignment_expression "pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (identifier "pcStack_174") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x73f4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x73f4" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x73f4")) () ")")))) (; ";")) (expression_statement "pcVar27 = (code *)0x0;" (assignment_expression "pcVar27 = (code *)0x0" (identifier "pcVar27") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000c6e8c:\n    uVar49 = CONCAT44(param_1,pcStack_18c);" (statement_identifier "LAB_000c6e8c") (: ":") (expression_statement "uVar49 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar49 = CONCAT44(param_1,pcStack_18c)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(param_1,pcStack_18c)" (identifier "CONCAT44") (argument_list "(param_1,pcStack_18c)" (( "(") (identifier "param_1") (, ",") (identifier "pcStack_18c") () ")")))) (; ";"))) (expression_statement "uVar53 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar53 = CONCAT44(param_1,pcStack_18c)" (identifier "uVar53") (= "=") (call_expression "CONCAT44(param_1,pcStack_18c)" (identifier "CONCAT44") (argument_list "(param_1,pcStack_18c)" (( "(") (identifier "param_1") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (expression_statement "uVar50 = CONCAT44(param_1,pcStack_18c);" (assignment_expression "uVar50 = CONCAT44(param_1,pcStack_18c)" (identifier "uVar50") (= "=") (call_expression "CONCAT44(param_1,pcStack_18c)" (identifier "CONCAT44") (argument_list "(param_1,pcStack_18c)" (( "(") (identifier "param_1") (, ",") (identifier "pcStack_18c") () ")")))) (; ";")) (expression_statement "pcStack_18c = pcVar27 + 1;" (assignment_expression "pcStack_18c = pcVar27 + 1" (identifier "pcStack_18c") (= "=") (binary_expression "pcVar27 + 1" (identifier "pcVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pcVar46 = param_5;" (assignment_expression "pcVar46 = param_5" (identifier "pcVar46") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (*(short *)(piVar41 + 3) == 0x400) {\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }\n    else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" (if "if") (parenthesized_expression "(*(short *)(piVar41 + 3) == 0x400)" (( "(") (binary_expression "*(short *)(piVar41 + 3) == 0x400" (pointer_expression "*(short *)(piVar41 + 3)" (* "*") (cast_expression "(short *)(piVar41 + 3)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41 + 3)" (( "(") (binary_expression "piVar41 + 3" (identifier "piVar41") (+ "+") (number_literal "3")) () ")")))) (== "==") (number_literal "0x400")) () ")")) (compound_statement "{\n      uVar50 = uVar53;\n      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;\n    }" ({ "{") (expression_statement "uVar50 = uVar53;" (assignment_expression "uVar50 = uVar53" (identifier "uVar50") (= "=") (identifier "uVar53")) (; ";")) (if_statement "if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)) goto LAB_000c5b6c;" (if "if") (parenthesized_expression "((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0))" (( "(") (binary_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||\n         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" (parenthesized_expression "(*(int *)(piVar41[7] + 0xc) <= (int)pcVar27)" (( "(") (binary_expression "*(int *)(piVar41[7] + 0xc) <= (int)pcVar27" (pointer_expression "*(int *)(piVar41[7] + 0xc)" (* "*") (cast_expression "(int *)(piVar41[7] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41[7] + 0xc)" (( "(") (binary_expression "piVar41[7] + 0xc" (subscript_expression "piVar41[7]" (identifier "piVar41") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (<= "<=") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) () ")")) (|| "||") (parenthesized_expression "(piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0)" (( "(") (comma_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" (identifier "piVar44") (= "=") (cast_expression "(int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30)" (( "(") (binary_expression "*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30" (pointer_expression "*(int *)(piVar41[7] + 0x14)" (* "*") (cast_expression "(int *)(piVar41[7] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41[7] + 0x14)" (( "(") (binary_expression "piVar41[7] + 0x14" (subscript_expression "piVar41[7]" (identifier "piVar41") ([ "[") (number_literal "7") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(int)pcVar27 * 0x30" (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27")) (* "*") (number_literal "0x30"))) () ")")))) (, ",") (comma_expression "uVar50 = uVar49,\n         piVar44 == (int *)0x0" (assignment_expression "uVar50 = uVar49" (identifier "uVar50") (= "=") (identifier "uVar49")) (, ",") (binary_expression "piVar44 == (int *)0x0" (identifier "piVar44") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (goto_statement "goto LAB_000c5b6c;" (goto "goto") (statement_identifier "LAB_000c5b6c") (; ";"))) (} "}")) (else_clause "else {\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" (else "else") (compound_statement "{\n      piVar44 = piVar41;\n      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;\n    }" ({ "{") (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" (identifier "piVar44") (= "=") (identifier "piVar41")) (; ";")) (if_statement "if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;" (if "if") (parenthesized_expression "(pcVar27 != (code *)0x0)" (( "(") (binary_expression "pcVar27 != (code *)0x0" (identifier "pcVar27") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5b6c;" (goto "goto") (statement_identifier "LAB_000c5b6c") (; ";"))) (} "}")))) (expression_statement "pcVar42 = *(code **)(puVar47 + 0x96dac);" (assignment_expression "pcVar42 = *(code **)(puVar47 + 0x96dac)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(puVar47 + 0x96dac)" (* "*") (cast_expression "(code **)(puVar47 + 0x96dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar47 + 0x96dac)" (( "(") (binary_expression "puVar47 + 0x96dac" (identifier "puVar47") (+ "+") (number_literal "0x96dac")) () ")"))))) (; ";")) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" (identifier "pcVar38") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" (identifier "sVar28") (= "=") (pointer_expression "*(short *)(piVar41 + 0xf)" (* "*") (cast_expression "(short *)(piVar41 + 0xf)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41 + 0xf)" (( "(") (binary_expression "piVar41 + 0xf" (identifier "piVar41") (+ "+") (number_literal "0xf")) () ")"))))) (; ";")) (expression_statement "pcStack_184 = pcVar42 + 0x4ac8;" (assignment_expression "pcStack_184 = pcVar42 + 0x4ac8" (identifier "pcStack_184") (= "=") (binary_expression "pcVar42 + 0x4ac8" (identifier "pcVar42") (+ "+") (number_literal "0x4ac8"))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    } while( true );" (do "do") (compound_statement "{\n      pcVar27 = pcStack_18c;\n      if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }\n      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;\n      uVar23 = *(ushort *)(piVar44 + 3);\n      pcVar42 = (code *)(uint)uVar23;\n      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }\n      iVar32 = iVar32 + 1;\n    }" ({ "{") (expression_statement "pcVar27 = pcStack_18c;" (assignment_expression "pcVar27 = pcStack_18c" (identifier "pcVar27") (= "=") (identifier "pcStack_18c")) (; ";")) (if_statement "if (sVar28 == 0x400) {\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }\n      else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" (if "if") (parenthesized_expression "(sVar28 == 0x400)" (( "(") (binary_expression "sVar28 == 0x400" (identifier "sVar28") (== "==") (number_literal "0x400")) () ")")) (compound_statement "{\n        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;\n        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);\n      }" ({ "{") (if_statement "if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;" (if "if") (parenthesized_expression "(*(int *)(piVar41[0x13] + 0xc) <= iVar32)" (( "(") (binary_expression "*(int *)(piVar41[0x13] + 0xc) <= iVar32" (pointer_expression "*(int *)(piVar41[0x13] + 0xc)" (* "*") (cast_expression "(int *)(piVar41[0x13] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41[0x13] + 0xc)" (( "(") (binary_expression "piVar41[0x13] + 0xc" (subscript_expression "piVar41[0x13]" (identifier "piVar41") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (<= "<=") (identifier "iVar32")) () ")")) (goto_statement "goto LAB_000c6e8c;" (goto "goto") (statement_identifier "LAB_000c6e8c") (; ";"))) (expression_statement "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30)" (( "(") (binary_expression "*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(piVar41[0x13] + 0x14)" (* "*") (cast_expression "(int *)(piVar41[0x13] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41[0x13] + 0x14)" (( "(") (binary_expression "piVar41[0x13] + 0x14" (subscript_expression "piVar41[0x13]" (identifier "piVar41") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar32 * 0x30" (identifier "iVar32") (* "*") (number_literal "0x30"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" (else "else") (compound_statement "{\n        pcVar38 = (code *)(piVar41 + 0xc);\n        if (iVar32 != 0) goto LAB_000c6e8c;\n      }" ({ "{") (expression_statement "pcVar38 = (code *)(piVar41 + 0xc);" (assignment_expression "pcVar38 = (code *)(piVar41 + 0xc)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(piVar41 + 0xc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41 + 0xc)" (( "(") (binary_expression "piVar41 + 0xc" (identifier "piVar41") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (if_statement "if (iVar32 != 0) goto LAB_000c6e8c;" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c6e8c;" (goto "goto") (statement_identifier "LAB_000c6e8c") (; ";"))) (} "}")))) (if_statement "if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;" (if "if") (parenthesized_expression "(pcVar38 == (code *)0x0)" (( "(") (binary_expression "pcVar38 == (code *)0x0" (identifier "pcVar38") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c6e8c;" (goto "goto") (statement_identifier "LAB_000c6e8c") (; ";"))) (expression_statement "uVar23 = *(ushort *)(piVar44 + 3);" (assignment_expression "uVar23 = *(ushort *)(piVar44 + 3)" (identifier "uVar23") (= "=") (pointer_expression "*(ushort *)(piVar44 + 3)" (* "*") (cast_expression "(ushort *)(piVar44 + 3)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar44 + 3)" (( "(") (binary_expression "piVar44 + 3" (identifier "piVar44") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" (identifier "pcVar42") (= "=") (cast_expression "(code *)(uint)uVar23" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)uVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar23")))) (; ";")) (if_statement "if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" (if "if") (parenthesized_expression "(((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0))" (( "(") (binary_expression "((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" (parenthesized_expression "((uVar23 & 0x3e) != 0)" (( "(") (binary_expression "(uVar23 & 0x3e) != 0" (parenthesized_expression "(uVar23 & 0x3e)" (( "(") (binary_expression "uVar23 & 0x3e" (identifier "uVar23") (& "&") (number_literal "0x3e")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)" (( "(") (binary_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0" (parenthesized_expression "(*(ushort *)(pcVar38 + 0xc) & 0x3e)" (( "(") (binary_expression "*(ushort *)(pcVar38 + 0xc) & 0x3e" (pointer_expression "*(ushort *)(pcVar38 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar38 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0xc)" (( "(") (binary_expression "pcVar38 + 0xc" (identifier "pcVar38") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x3e")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);\n        pcVar42 = (code *)(uint)uVar23;\n        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }\n      }" ({ "{") (expression_statement "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);" (assignment_expression "uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc)" (identifier "uVar23") (= "=") (binary_expression "uVar23 | *(ushort *)(pcVar38 + 0xc)" (identifier "uVar23") (| "|") (pointer_expression "*(ushort *)(pcVar38 + 0xc)" (* "*") (cast_expression "(ushort *)(pcVar38 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0xc)" (( "(") (binary_expression "pcVar38 + 0xc" (identifier "pcVar38") (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "pcVar42 = (code *)(uint)uVar23;" (assignment_expression "pcVar42 = (code *)(uint)uVar23" (identifier "pcVar42") (= "=") (cast_expression "(code *)(uint)uVar23" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)uVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar23")))) (; ";")) (if_statement "if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" (if "if") (parenthesized_expression "((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26)))" (( "(") (binary_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||\n           (pcVar42 == (code *)((uint)pcVar42 & 0x26))" (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x1a))" (( "(") (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x1a)" (identifier "pcVar42") (== "==") (cast_expression "(code *)((uint)pcVar42 & 0x1a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcVar42 & 0x1a)" (( "(") (binary_expression "(uint)pcVar42 & 0x1a" (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42")) (& "&") (number_literal "0x1a")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(pcVar42 == (code *)((uint)pcVar42 & 0x26))" (( "(") (binary_expression "pcVar42 == (code *)((uint)pcVar42 & 0x26)" (identifier "pcVar42") (== "==") (cast_expression "(code *)((uint)pcVar42 & 0x26)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pcVar42 & 0x26)" (( "(") (binary_expression "(uint)pcVar42 & 0x26" (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42")) (& "&") (number_literal "0x26")) () ")")))) () ")"))) () ")")) (compound_statement "{\n          pcVar31 = (code *)0xffffffff;\n          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));\n          if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }\n          piVar41 = *(int **)(pcVar43 + 0x14);\n          sVar28 = *(short *)(piVar41 + 0xf);\n        }" ({ "{") (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" (identifier "pcVar31") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" (identifier "iVar39") (= "=") (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" (parenthesized_expression "(*pcStack_188)" (( "(") (pointer_expression "*pcStack_188" (* "*") (identifier "pcStack_188")) () ")")) (argument_list "(0,*(undefined4 *)(*piVar44 + 0xc),\n                                  *(undefined4 *)(*(int *)pcVar38 + 0xc))" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(*piVar44 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*piVar44 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar44 + 0xc)" (( "(") (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar38 + 0xc)" (( "(") (binary_expression "*(int *)pcVar38 + 0xc" (pointer_expression "*(int *)pcVar38" (* "*") (cast_expression "(int *)pcVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar38"))) (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar39 == 0) {\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar39 == 0)" (( "(") (binary_expression "iVar39 == 0" (identifier "iVar39") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar31 = (code *)0xffffffff;\n            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));\n            if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" (identifier "pcVar31") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));" (assignment_expression "iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" (identifier "iVar39") (= "=") (call_expression "(*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" (parenthesized_expression "(*pcStack_188)" (( "(") (pointer_expression "*pcStack_188" (* "*") (identifier "pcStack_188")) () ")")) (argument_list "(0,*(undefined4 *)(*piVar44 + 0x10),\n                                    *(undefined4 *)(*(int *)pcVar38 + 0x10))" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(*piVar44 + 0x10)" (* "*") (cast_expression "(undefined4 *)(*piVar44 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar44 + 0x10)" (( "(") (binary_expression "*piVar44 + 0x10" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)pcVar38 + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)pcVar38 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcVar38 + 0x10)" (( "(") (binary_expression "*(int *)pcVar38 + 0x10" (pointer_expression "*(int *)pcVar38" (* "*") (cast_expression "(int *)pcVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar38"))) (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar39 == 0) {\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" (if "if") (parenthesized_expression "(iVar39 == 0)" (( "(") (binary_expression "iVar39 == 0" (identifier "iVar39") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }\n              pcVar31 = (code *)0x0;\n              if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }\n            }" ({ "{") (if_statement "if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {\n                pcVar42 = (code *)&DAT_00000008;\n              }" (if "if") (parenthesized_expression "((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0))" (( "(") (binary_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&\n                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" (parenthesized_expression "(((uint)(pcVar42 + -1) & (uint)pcVar42) != 0)" (( "(") (binary_expression "((uint)(pcVar42 + -1) & (uint)pcVar42) != 0" (parenthesized_expression "((uint)(pcVar42 + -1) & (uint)pcVar42)" (( "(") (binary_expression "(uint)(pcVar42 + -1) & (uint)pcVar42" (call_expression "(uint)(pcVar42 + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar42 + -1)" (( "(") (binary_expression "pcVar42 + -1" (identifier "pcVar42") (+ "+") (number_literal "-1")) () ")"))) (& "&") (cast_expression "(uint)pcVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar42"))) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)" (( "(") (comma_expression "pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0" (assignment_expression "pcVar42 = (code *)&DAT_00000020" (identifier "pcVar42") (= "=") (cast_expression "(code *)&DAT_00000020" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000020" (& "&") (identifier "DAT_00000020")))) (, ",") (binary_expression "(uVar23 & 0x18) != 0" (parenthesized_expression "(uVar23 & 0x18)" (( "(") (binary_expression "uVar23 & 0x18" (identifier "uVar23") (& "&") (number_literal "0x18")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                pcVar42 = (code *)&DAT_00000008;\n              }" ({ "{") (expression_statement "pcVar42 = (code *)&DAT_00000008;" (assignment_expression "pcVar42 = (code *)&DAT_00000008" (identifier "pcVar42") (= "=") (cast_expression "(code *)&DAT_00000008" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")))) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)) {\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" (if "if") (parenthesized_expression "((*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0))" (( "(") (binary_expression "(*piVar44 != 0) &&\n                 (puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" (parenthesized_expression "(*piVar44 != 0)" (( "(") (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0)" (( "(") (comma_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),\n                 puVar12 != (undefined1 *)0x0" (assignment_expression "puVar12 = (undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)\n                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (parenthesized_expression "(*pcStack_17c)" (( "(") (pointer_expression "*pcStack_17c" (* "*") (identifier "pcStack_17c")) () ")")) (argument_list "(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0)" (( "(") (pointer_expression "*(undefined4 *)**(undefined4 **)pcVar22" (* "*") (cast_expression "(undefined4 *)**(undefined4 **)pcVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)pcVar22" (* "*") (pointer_expression "*(undefined4 **)pcVar22" (* "*") (cast_expression "(undefined4 **)pcVar22" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar22")))))) (, ",") (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "puVar12 != (undefined1 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                uVar25 = 0x35;\n                if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }\n                *puVar12 = uVar25;\n                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);\n                (*pcStack_184)(pcVar26,pcVar22,uVar8);\n              }" ({ "{") (expression_statement "uVar25 = 0x35;" (assignment_expression "uVar25 = 0x35" (identifier "uVar25") (= "=") (number_literal "0x35")) (; ";")) (if_statement "if (pcVar42 != (code *)&SUB_00000002) {\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" (if "if") (parenthesized_expression "(pcVar42 != (code *)&SUB_00000002)" (( "(") (binary_expression "pcVar42 != (code *)&SUB_00000002" (identifier "pcVar42") (!= "!=") (cast_expression "(code *)&SUB_00000002" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) () ")")) (compound_statement "{\n                  iVar39 = 0x35;\n                  do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));\n                }" ({ "{") (expression_statement "iVar39 = 0x35;" (assignment_expression "iVar39 = 0x35" (identifier "iVar39") (= "=") (number_literal "0x35")) (; ";")) (do_statement "do {\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));" (do "do") (compound_statement "{\n                    uVar18 = iVar39 - 0x34;\n                    iVar39 = iVar39 + 1;\n                    uVar25 = (undefined1)iVar39;\n                  }" ({ "{") (expression_statement "uVar18 = iVar39 - 0x34;" (assignment_expression "uVar18 = iVar39 - 0x34" (identifier "uVar18") (= "=") (binary_expression "iVar39 - 0x34" (identifier "iVar39") (- "-") (number_literal "0x34"))) (; ";")) (expression_statement "iVar39 = iVar39 + 1;" (assignment_expression "iVar39 = iVar39 + 1" (identifier "iVar39") (= "=") (binary_expression "iVar39 + 1" (identifier "iVar39") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar25 = (undefined1)iVar39;" (assignment_expression "uVar25 = (undefined1)iVar39" (identifier "uVar25") (= "=") (cast_expression "(undefined1)iVar39" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar39"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar42 != (code *)(2 << (uVar18 & 0x1f)))" (( "(") (binary_expression "pcVar42 != (code *)(2 << (uVar18 & 0x1f))" (identifier "pcVar42") (!= "!=") (cast_expression "(code *)(2 << (uVar18 & 0x1f))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(2 << (uVar18 & 0x1f))" (( "(") (binary_expression "2 << (uVar18 & 0x1f)" (number_literal "2") (<< "<<") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")"))) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "*puVar12 = uVar25;" (assignment_expression "*puVar12 = uVar25" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "uVar8 = (*pcStack_174)(pcVar22,puVar12,3);" (assignment_expression "uVar8 = (*pcStack_174)(pcVar22,puVar12,3)" (identifier "uVar8") (= "=") (call_expression "(*pcStack_174)(pcVar22,puVar12,3)" (parenthesized_expression "(*pcStack_174)" (( "(") (pointer_expression "*pcStack_174" (* "*") (identifier "pcStack_174")) () ")")) (argument_list "(pcVar22,puVar12,3)" (( "(") (identifier "pcVar22") (, ",") (identifier "puVar12") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "(*pcStack_184)(pcVar26,pcVar22,uVar8);" (call_expression "(*pcStack_184)(pcVar26,pcVar22,uVar8)" (parenthesized_expression "(*pcStack_184)" (( "(") (pointer_expression "*pcStack_184" (* "*") (identifier "pcStack_184")) () ")")) (argument_list "(pcVar26,pcVar22,uVar8)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "piVar41 = *(int **)(pcVar43 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar43 + 0x14)" (identifier "piVar41") (= "=") (pointer_expression "*(int **)(pcVar43 + 0x14)" (* "*") (cast_expression "(int **)(pcVar43 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar43 + 0x14)" (( "(") (binary_expression "pcVar43 + 0x14" (identifier "pcVar43") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "sVar28 = *(short *)(piVar41 + 0xf);" (assignment_expression "sVar28 = *(short *)(piVar41 + 0xf)" (identifier "sVar28") (= "=") (pointer_expression "*(short *)(piVar41 + 0xf)" (* "*") (cast_expression "(short *)(piVar41 + 0xf)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar41 + 0xf)" (( "(") (binary_expression "piVar41 + 0xf" (identifier "piVar41") (+ "+") (number_literal "0xf")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_000c5b6c;" (goto "goto") (statement_identifier "LAB_000c5b6c") (; ";")) (labeled_statement "LAB_000c5cbc:\n  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" (statement_identifier "LAB_000c5cbc") (: ":") (expression_statement "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);" (assignment_expression "uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38)" (identifier "uVar51") (= "=") (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar38)" (parenthesized_expression "(*pcStack_1b0)" (( "(") (pointer_expression "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) () ")")) (argument_list "(pcStack_1b8,pcVar38)" (( "(") (identifier "pcStack_1b8") (, ",") (identifier "pcVar38") () ")")))) (; ";"))) (if_statement "if ((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" (if "if") (parenthesized_expression "((pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0))" (( "(") (binary_expression "(pcVar27 == (code *)0x0) ||\n     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" (parenthesized_expression "(pcVar27 == (code *)0x0)" (( "(") (binary_expression "pcVar27 == (code *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)" (( "(") (comma_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0" (assignment_expression "uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27)" (identifier "uVar52") (= "=") (call_expression "(*pcStack_1b0)(pcStack_1b8,pcVar27)" (parenthesized_expression "(*pcStack_1b0)" (( "(") (pointer_expression "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) () ")")) (argument_list "(pcStack_1b8,pcVar27)" (( "(") (identifier "pcStack_1b8") (, ",") (identifier "pcVar27") () ")")))) (, ",") (binary_expression "(uVar52 & uVar51) == 0" (parenthesized_expression "(uVar52 & uVar51)" (( "(") (binary_expression "uVar52 & uVar51" (identifier "uVar52") (& "&") (identifier "uVar51")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);\nLAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);\n    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }\n    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);\n    iVar39 = iVar39 * 0x30;\n    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;\n    *(ulonglong *)(iVar29 + 0x20) = uVar51;\n    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);\n    uVar8 = *(undefined4 *)(pcVar27 + 0x20);\n    *(undefined2 *)(iVar29 + 0xc) = 0x40;\n    *(undefined4 *)(iVar29 + 0x1c) = uVar8;\n    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;\n    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;\n    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);\n    uVar8 = *(undefined4 *)(pcVar43 + 0x28);\n    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;\n    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);\n    *(undefined4 *)(iVar29 + 0x28) = uVar8;\n  }" ({ "{") (expression_statement "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);" (assignment_expression "pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0)" (parenthesized_expression "(*(pcStack_188 + -0x271c))" (( "(") (pointer_expression "*(pcStack_188 + -0x271c)" (* "*") (parenthesized_expression "(pcStack_188 + -0x271c)" (( "(") (binary_expression "pcStack_188 + -0x271c" (identifier "pcStack_188") (+ "+") (number_literal "-0x271c")) () ")"))) () ")")) (argument_list "(pcVar6,pcVar38,0,0)" (( "(") (identifier "pcVar6") (, ",") (identifier "pcVar38") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (labeled_statement "LAB_000c5d38:\n    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" (statement_identifier "LAB_000c5d38") (: ":") (expression_statement "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);" (assignment_expression "iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" (identifier "iVar39") (= "=") (call_expression "(*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0)" (parenthesized_expression "(*(code *)(iVar32 + 0x26b4))" (( "(") (pointer_expression "*(code *)(iVar32 + 0x26b4)" (* "*") (cast_expression "(code *)(iVar32 + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x26b4)" (( "(") (binary_expression "iVar32 + 0x26b4" (identifier "iVar32") (+ "+") (number_literal "0x26b4")) () ")")))) () ")")) (argument_list "(pcVar17,0x2e,0)" (( "(") (identifier "pcVar17") (, ",") (number_literal "0x2e") (, ",") (number_literal "0") () ")")))) (; ";"))) (if_statement "if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" (if "if") (parenthesized_expression "(((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0))" (( "(") (binary_expression "((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)" (parenthesized_expression "((*(uint *)(param_4 + 4) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(param_4 + 4) & 1) != 0" (parenthesized_expression "(*(uint *)(param_4 + 4) & 1)" (( "(") (binary_expression "*(uint *)(param_4 + 4) & 1" (pointer_expression "*(uint *)(param_4 + 4)" (* "*") (cast_expression "(uint *)(param_4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar39 != 0)" (( "(") (binary_expression "iVar39 != 0" (identifier "iVar39") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;\n    }" ({ "{") (expression_statement "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;" (assignment_expression "*(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar39 + 4) | 1" (pointer_expression "*(uint *)(iVar39 + 4)" (* "*") (cast_expression "(uint *)(iVar39 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 4)" (( "(") (binary_expression "iVar39 + 4" (identifier "iVar39") (+ "+") (number_literal "4")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar39 = (*pcStack_190)(pcVar22,iVar39,3);" (assignment_expression "iVar39 = (*pcStack_190)(pcVar22,iVar39,3)" (identifier "iVar39") (= "=") (call_expression "(*pcStack_190)(pcVar22,iVar39,3)" (parenthesized_expression "(*pcStack_190)" (( "(") (pointer_expression "*pcStack_190" (* "*") (identifier "pcStack_190")) () ")")) (argument_list "(pcVar22,iVar39,3)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar39") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "iVar39 = iVar39 * 0x30;" (assignment_expression "iVar39 = iVar39 * 0x30" (identifier "iVar39") (= "=") (binary_expression "iVar39 * 0x30" (identifier "iVar39") (* "*") (number_literal "0x30"))) (; ";")) (expression_statement "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;" (assignment_expression "iVar29 = *(int *)(pcVar22 + 0x14) + iVar39" (identifier "iVar29") (= "=") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar39"))) (; ";")) (expression_statement "*(ulonglong *)(iVar29 + 0x20) = uVar51;" (assignment_expression "*(ulonglong *)(iVar29 + 0x20) = uVar51" (pointer_expression "*(ulonglong *)(iVar29 + 0x20)" (* "*") (cast_expression "(ulonglong *)(iVar29 + 0x20)" (( "(") (type_descriptor "ulonglong *" (type_identifier "ulonglong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x20)" (( "(") (binary_expression "iVar29 + 0x20" (identifier "iVar29") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar51")) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x14)" (( "(") (binary_expression "iVar29 + 0x14" (identifier "iVar29") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pcVar27 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(pcVar27 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1c)" (( "(") (binary_expression "pcVar27 + 0x1c" (identifier "pcVar27") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(pcVar27 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar27 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(pcVar27 + 0x20)" (* "*") (cast_expression "(undefined4 *)(pcVar27 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x20)" (( "(") (binary_expression "pcVar27 + 0x20" (identifier "pcVar27") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined2 *)(iVar29 + 0xc) = 0x40;" (assignment_expression "*(undefined2 *)(iVar29 + 0xc) = 0x40" (pointer_expression "*(undefined2 *)(iVar29 + 0xc)" (* "*") (cast_expression "(undefined2 *)(iVar29 + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xc)" (( "(") (binary_expression "iVar29 + 0xc" (identifier "iVar29") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x1c)" (( "(") (binary_expression "iVar29 + 0x1c" (identifier "iVar29") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(char *)(iVar29 + 0xf) = (char)pcStack_18c;" (assignment_expression "*(char *)(iVar29 + 0xf) = (char)pcStack_18c" (pointer_expression "*(char *)(iVar29 + 0xf)" (* "*") (cast_expression "(char *)(iVar29 + 0xf)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xf)" (( "(") (binary_expression "iVar29 + 0xf" (identifier "iVar29") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(char)pcStack_18c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "pcStack_18c"))) (; ";")) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar39")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =\n         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" (* "*") (cast_expression "(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar39 + 8)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39 + 8" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar39" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar39")) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcVar43") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(pcVar43 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(pcVar43 + 0x28)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(pcVar43 + 0x28)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x28)" (( "(") (binary_expression "pcVar43 + 0x28" (identifier "pcVar43") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;" (assignment_expression "*(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)(pcVar43 + 10) | 8" (pointer_expression "*(ushort *)(pcVar43 + 10)" (* "*") (cast_expression "(ushort *)(pcVar43 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 10)" (( "(") (binary_expression "pcVar43 + 10" (identifier "pcVar43") (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);" (assignment_expression "*(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c)" (pointer_expression "*(undefined4 *)(iVar29 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x2c)" (( "(") (binary_expression "iVar29 + 0x2c" (identifier "iVar29") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pcVar43 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x2c)" (( "(") (binary_expression "pcVar43 + 0x2c" (identifier "pcVar43") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0x28) = uVar8;" (assignment_expression "*(undefined4 *)(iVar29 + 0x28) = uVar8" (pointer_expression "*(undefined4 *)(iVar29 + 0x28)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x28)" (( "(") (binary_expression "iVar29 + 0x28" (identifier "iVar29") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}"))) (goto_statement "goto LAB_000c5d04;" (goto "goto") (statement_identifier "LAB_000c5d04") (; ";")) (labeled_statement "LAB_000c5efc:\n  *(undefined4 *)(pcVar43 + 0x19c) = 0;" (statement_identifier "LAB_000c5efc") (: ":") (expression_statement "*(undefined4 *)(pcVar43 + 0x19c) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x19c) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x19c)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x19c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x19c)" (( "(") (binary_expression "pcVar43 + 0x19c" (identifier "pcVar43") (+ "+") (number_literal "0x19c")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(pcVar43 + 0x198) = 0;" (assignment_expression "*(undefined4 *)(pcVar43 + 0x198) = 0" (pointer_expression "*(undefined4 *)(pcVar43 + 0x198)" (* "*") (cast_expression "(undefined4 *)(pcVar43 + 0x198)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0x198)" (( "(") (binary_expression "pcVar43 + 0x198" (identifier "pcVar43") (+ "+") (number_literal "0x198")) () ")")))) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000c5f04:\n  pcStack_18c = (code *)uVar50;" (statement_identifier "LAB_000c5f04") (: ":") (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)uVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar50"))) (; ";"))) (expression_statement "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;" (assignment_expression "*(undefined2 *)((int)pcStack_18c + 0xc) = 0x200" (pointer_expression "*(undefined2 *)((int)pcStack_18c + 0xc)" (* "*") (cast_expression "(undefined2 *)((int)pcStack_18c + 0xc)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pcStack_18c + 0xc)" (( "(") (binary_expression "(int)pcStack_18c + 0xc" (cast_expression "(int)pcStack_18c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_18c")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x200")) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (labeled_statement "LAB_000c5b6c:\n  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (statement_identifier "LAB_000c5b6c") (: ":") (expression_statement "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);" (assignment_expression "pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20)" (identifier "pcStack_190") (= "=") (cast_expression "(code *)((ulonglong)uVar50 >> 0x20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar50 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar50 >> 0x20" (cast_expression "(ulonglong)uVar50" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar50")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "pcStack_18c = (code *)uVar50;" (assignment_expression "pcStack_18c = (code *)uVar50" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)uVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar50"))) (; ";")) (expression_statement "pcVar27 = pcVar38;" (assignment_expression "pcVar27 = pcVar38" (identifier "pcVar27") (= "=") (identifier "pcVar38")) (; ";")) (expression_statement "param_5 = pcVar46;" (assignment_expression "param_5 = pcVar46" (identifier "param_5") (= "=") (identifier "pcVar46")) (; ";")) (if_statement "if (uVar13 != 0 || in_t4 != (code *)0x0) {\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(uVar13 != 0 || in_t4 != (code *)0x0)" (( "(") (binary_expression "uVar13 != 0 || in_t4 != (code *)0x0" (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "in_t4 != (code *)0x0" (identifier "in_t4") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n    iVar32 = *(int *)(pcVar43 + 0xc);\n    param_5 = in_t4;\n    pcVar27 = pcVar43;\n    pcStack_17c = param_1;\nLAB_000c5b7c:\n    pcVar46 = pcStack_1a4;\n    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);\n    pcVar42 = (code *)0x0;\n    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);\n    pcVar31 = (code *)0xffffffff;\n    in_t4 = param_5;\n    param_1 = pcStack_17c;\nLAB_000c5bb0:\n    iVar32 = iVar32 + -1;\n    piVar41 = *(int **)(pcVar27 + 0x14);\n    pcStack_190 = pcVar22;\n    if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "iVar32 = *(int *)(pcVar43 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar43 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar43 + 0xc)" (* "*") (cast_expression "(int *)(pcVar43 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar43 + 0xc)" (( "(") (binary_expression "pcVar43 + 0xc" (identifier "pcVar43") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "param_5 = in_t4;" (assignment_expression "param_5 = in_t4" (identifier "param_5") (= "=") (identifier "in_t4")) (; ";")) (expression_statement "pcVar27 = pcVar43;" (assignment_expression "pcVar27 = pcVar43" (identifier "pcVar27") (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "pcStack_17c = param_1;" (assignment_expression "pcStack_17c = param_1" (identifier "pcStack_17c") (= "=") (identifier "param_1")) (; ";")) (labeled_statement "LAB_000c5b7c:\n    pcVar46 = pcStack_1a4;" (statement_identifier "LAB_000c5b7c") (: ":") (expression_statement "pcVar46 = pcStack_1a4;" (assignment_expression "pcVar46 = pcStack_1a4" (identifier "pcVar46") (= "=") (identifier "pcStack_1a4")) (; ";"))) (expression_statement "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);" (assignment_expression "pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (identifier "pcStack_18c") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96b94) + 0x5914)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96b94) + 0x5914" (pointer_expression "*(int *)(puVar47 + 0x96b94)" (* "*") (cast_expression "(int *)(puVar47 + 0x96b94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96b94)" (( "(") (binary_expression "puVar47 + 0x96b94" (identifier "puVar47") (+ "+") (number_literal "0x96b94")) () ")")))) (+ "+") (number_literal "0x5914")) () ")")))) (; ";")) (expression_statement "pcVar42 = (code *)0x0;" (assignment_expression "pcVar42 = (code *)0x0" (identifier "pcVar42") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);" (assignment_expression "pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (identifier "pcStack_184") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c4c) + -0x429c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c4c) + -0x429c" (pointer_expression "*(int *)(puVar47 + 0x96c4c)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c4c)" (( "(") (binary_expression "puVar47 + 0x96c4c" (identifier "puVar47") (+ "+") (number_literal "0x96c4c")) () ")")))) (+ "+") (number_literal "-0x429c")) () ")")))) (; ";")) (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" (identifier "pcVar31") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "in_t4 = param_5;" (assignment_expression "in_t4 = param_5" (identifier "in_t4") (= "=") (identifier "param_5")) (; ";")) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" (identifier "param_1") (= "=") (identifier "pcStack_17c")) (; ";")) (labeled_statement "LAB_000c5bb0:\n    iVar32 = iVar32 + -1;" (statement_identifier "LAB_000c5bb0") (: ":") (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + -1" (identifier "iVar32") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" (identifier "piVar41") (= "=") (pointer_expression "*(int **)(pcVar27 + 0x14)" (* "*") (cast_expression "(int **)(pcVar27 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x14)" (( "(") (binary_expression "pcVar27 + 0x14" (identifier "pcVar27") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pcStack_190 = pcVar22;" (assignment_expression "pcStack_190 = pcVar22" (identifier "pcStack_190") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (-1 < iVar32) {\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(-1 < iVar32)" (( "(") (binary_expression "-1 < iVar32" (number_literal "-1") (< "<") (identifier "iVar32")) () ")")) (compound_statement "{\n      in_t5 = (code *)0x1;\n      in_t4 = (code *)0xffffffff;\n      do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );\n    }" ({ "{") (expression_statement "in_t5 = (code *)0x1;" (assignment_expression "in_t5 = (code *)0x1" (identifier "in_t5") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "in_t4 = (code *)0xffffffff;" (assignment_expression "in_t4 = (code *)0xffffffff" (identifier "in_t4") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (do_statement "do {\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      } while( true );" (do "do") (compound_statement "{\n        pcVar38 = (code *)piVar41[5];\n        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;\n        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }\nLAB_000c5c1c:\n        iVar32 = iVar32 + -1;\n        piVar41 = piVar41 + 0xc;\n        if (iVar32 == -1) break;\n      }" ({ "{") (expression_statement "pcVar38 = (code *)piVar41[5];" (assignment_expression "pcVar38 = (code *)piVar41[5]" (identifier "pcVar38") (= "=") (cast_expression "(code *)piVar41[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar41[5]" (identifier "piVar41") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar41 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar41 + 10)" (( "(") (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar41")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar41 + 10) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar41 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar41 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar41 + 10)" (( "(") (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar41")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xffbf"))) (; ";")) (if_statement "if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" (if "if") (parenthesized_expression "((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)))" (( "(") (binary_expression "(pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" (parenthesized_expression "(pcVar38 != pcVar31)" (( "(") (binary_expression "pcVar38 != pcVar31" (identifier "pcVar38") (!= "!=") (identifier "pcVar31")) () ")")) (&& "&&") (parenthesized_expression "(0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))" (( "(") (binary_expression "0 < (int)*(uint *)(pcStack_1a4 + 0x1ec)" (number_literal "0") (< "<") (cast_expression "(int)*(uint *)(pcStack_1a4 + 0x1ec)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" (* "*") (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a4 + 0x1ec)" (( "(") (binary_expression "pcStack_1a4 + 0x1ec" (identifier "pcStack_1a4") (+ "+") (number_literal "0x1ec")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }\n          uVar21 = 1 << (uVar18 & 0x1f);\n          if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }\n          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;\n        }" ({ "{") (if_statement "if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" (if "if") (parenthesized_expression "(pcVar38 == *(code **)(pcStack_1a4 + 0x1f0))" (( "(") (binary_expression "pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)" (identifier "pcVar38") (== "==") (pointer_expression "*(code **)(pcStack_1a4 + 0x1f0)" (* "*") (cast_expression "(code **)(pcStack_1a4 + 0x1f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a4 + 0x1f0)" (( "(") (binary_expression "pcStack_1a4 + 0x1f0" (identifier "pcStack_1a4") (+ "+") (number_literal "0x1f0")) () ")"))))) () ")")) (compound_statement "{\n            uVar18 = 0;\n          }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" (else "else") (compound_statement "{\n            uVar18 = 0;\n            pcVar43 = pcStack_1a4 + 500;\n            do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);\n          }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar43 = pcStack_1a4 + 500;" (assignment_expression "pcVar43 = pcStack_1a4 + 500" (identifier "pcVar43") (= "=") (binary_expression "pcStack_1a4 + 500" (identifier "pcStack_1a4") (+ "+") (number_literal "500"))) (; ";")) (do_statement "do {\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            } while (pcVar38 != pcVar48);" (do "do") (compound_statement "{\n              uVar18 = uVar18 + 1;\n              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;\n              pcVar48 = *(code **)pcVar43;\n              pcVar43 = pcVar43 + 4;\n            }" ({ "{") (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" (identifier "uVar18") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;" (if "if") (parenthesized_expression "(uVar18 == *(uint *)(pcStack_1a4 + 0x1ec))" (( "(") (binary_expression "uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)" (identifier "uVar18") (== "==") (pointer_expression "*(uint *)(pcStack_1a4 + 0x1ec)" (* "*") (cast_expression "(uint *)(pcStack_1a4 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1a4 + 0x1ec)" (( "(") (binary_expression "pcStack_1a4 + 0x1ec" (identifier "pcStack_1a4") (+ "+") (number_literal "0x1ec")) () ")"))))) () ")")) (goto_statement "goto LAB_000c5c1c;" (goto "goto") (statement_identifier "LAB_000c5c1c") (; ";"))) (expression_statement "pcVar48 = *(code **)pcVar43;" (assignment_expression "pcVar48 = *(code **)pcVar43" (identifier "pcVar48") (= "=") (pointer_expression "*(code **)pcVar43" (* "*") (cast_expression "(code **)pcVar43" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar43")))) (; ";")) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" (identifier "pcVar43") (= "=") (binary_expression "pcVar43 + 4" (identifier "pcVar43") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar38 != pcVar48)" (( "(") (binary_expression "pcVar38 != pcVar48" (identifier "pcVar38") (!= "!=") (identifier "pcVar48")) () ")")) (; ";")) (} "}")))) (expression_statement "uVar21 = 1 << (uVar18 & 0x1f);" (assignment_expression "uVar21 = 1 << (uVar18 & 0x1f)" (identifier "uVar21") (= "=") (binary_expression "1 << (uVar18 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((uVar18 & 0x20) == 0) {\n            uVar18 = 0;\n          }\n          else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" (if "if") (parenthesized_expression "((uVar18 & 0x20) == 0)" (( "(") (binary_expression "(uVar18 & 0x20) == 0" (parenthesized_expression "(uVar18 & 0x20)" (( "(") (binary_expression "uVar18 & 0x20" (identifier "uVar18") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar18 = 0;\n          }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" (else "else") (compound_statement "{\n            uVar18 = uVar21;\n            uVar21 = 0;\n          }" ({ "{") (expression_statement "uVar18 = uVar21;" (assignment_expression "uVar18 = uVar21" (identifier "uVar18") (= "=") (identifier "uVar21")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;" (if "if") (parenthesized_expression "((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0)" (( "(") (binary_expression "(uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0" (binary_expression "(uVar18 & uVar13) != 0" (parenthesized_expression "(uVar18 & uVar13)" (( "(") (binary_expression "uVar18 & uVar13" (identifier "uVar18") (& "&") (identifier "uVar13")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uVar21 & (uint)param_5) != 0" (parenthesized_expression "(uVar21 & (uint)param_5)" (( "(") (binary_expression "uVar21 & (uint)param_5" (identifier "uVar21") (& "&") (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5"))) () ")")) (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x000c6748;" (goto "goto") (statement_identifier "code_r0x000c6748") (; ";"))) (} "}"))) (labeled_statement "LAB_000c5c1c:\n        iVar32 = iVar32 + -1;" (statement_identifier "LAB_000c5c1c") (: ":") (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + -1" (identifier "iVar32") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" (identifier "piVar41") (= "=") (binary_expression "piVar41 + 0xc" (identifier "piVar41") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (iVar32 == -1) break;" (if "if") (parenthesized_expression "(iVar32 == -1)" (( "(") (binary_expression "iVar32 == -1" (identifier "iVar32") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000c5c2c:\n  uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (statement_identifier "LAB_000c5c2c") (: ":") (expression_statement "uVar49 = CONCAT44(pcStack_1a4,pcVar42);" (assignment_expression "uVar49 = CONCAT44(pcStack_1a4,pcVar42)" (identifier "uVar49") (= "=") (call_expression "CONCAT44(pcStack_1a4,pcVar42)" (identifier "CONCAT44") (argument_list "(pcStack_1a4,pcVar42)" (( "(") (identifier "pcStack_1a4") (, ",") (identifier "pcVar42") () ")")))) (; ";"))) (expression_statement "pcVar38 = pcVar27;" (assignment_expression "pcVar38 = pcVar27" (identifier "pcVar38") (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);" (assignment_expression "pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcVar46") (= "=") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));" (assignment_expression "uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" (identifier "uVar53") (= "=") (call_expression "CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14))" (identifier "CONCAT44") (argument_list "(pcVar37,*(int *)(pcVar22 + 0x14))" (( "(") (identifier "pcVar37") (, ",") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) () ")")))) (; ";")) (goto_statement "goto LAB_000c4d78;" (goto "goto") (statement_identifier "LAB_000c4d78") (; ";")) (labeled_statement "LAB_000c5b24:\n  pcVar42 = pcVar42 + -1;" (statement_identifier "LAB_000c5b24") (: ":") (expression_statement "pcVar42 = pcVar42 + -1;" (assignment_expression "pcVar42 = pcVar42 + -1" (identifier "pcVar42") (= "=") (binary_expression "pcVar42 + -1" (identifier "pcVar42") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "pcVar46 = pcVar46 + 0x30;" (assignment_expression "pcVar46 = pcVar46 + 0x30" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + 0x30" (identifier "pcVar46") (+ "+") (number_literal "0x30"))) (; ";")) (if_statement "if (pcVar42 == pcVar38) goto LAB_000c5b30;" (if "if") (parenthesized_expression "(pcVar42 == pcVar38)" (( "(") (binary_expression "pcVar42 == pcVar38" (identifier "pcVar42") (== "==") (identifier "pcVar38")) () ")")) (goto_statement "goto LAB_000c5b30;" (goto "goto") (statement_identifier "LAB_000c5b30") (; ";"))) (goto_statement "goto LAB_000c5ae4;" (goto "goto") (statement_identifier "LAB_000c5ae4") (; ";")) (labeled_statement "code_r0x000c6748:\n  param_1 = (code *)piVar41[7];" (statement_identifier "code_r0x000c6748") (: ":") (expression_statement "param_1 = (code *)piVar41[7];" (assignment_expression "param_1 = (code *)piVar41[7]" (identifier "param_1") (= "=") (cast_expression "(code *)piVar41[7]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar41[7]" (identifier "piVar41") ([ "[") (number_literal "7") (] "]")))) (; ";"))) (expression_statement "pcStack_188 = *(code **)(*piVar41 + 0xc);" (assignment_expression "pcStack_188 = *(code **)(*piVar41 + 0xc)" (identifier "pcStack_188") (= "=") (pointer_expression "*(code **)(*piVar41 + 0xc)" (* "*") (cast_expression "(code **)(*piVar41 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar41 + 0xc)" (( "(") (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" (* "*") (identifier "piVar41")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (labeled_statement "LAB_000c6784:\n  if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" (statement_identifier "LAB_000c6784") (: ":") (if_statement "if (param_1 == (code *)piVar41[7]) {\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (code *)piVar41[7])" (( "(") (binary_expression "param_1 == (code *)piVar41[7]" (identifier "param_1") (== "==") (cast_expression "(code *)piVar41[7]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar41[7]" (identifier "piVar41") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n    iVar39 = *piVar41;\n    if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }\n    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));\n    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));\n    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }\n  }" ({ "{") (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" (identifier "iVar39") (= "=") (pointer_expression "*piVar41" (* "*") (identifier "piVar41"))) (; ";")) (if_statement "if (param_1 == (code *)&SUB_fffffffe) {\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)&SUB_fffffffe)" (( "(") (binary_expression "param_1 == (code *)&SUB_fffffffe" (identifier "param_1") (== "==") (cast_expression "(code *)&SUB_fffffffe" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&SUB_fffffffe" (& "&") (identifier "SUB_fffffffe")))) () ")")) (compound_statement "{\n      pcVar31 = (code *)0xffffffff;\n      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);\n      if (iVar39 != 0) goto LAB_000c6790;\n      iVar39 = *piVar41;\n    }" ({ "{") (expression_statement "pcVar31 = (code *)0xffffffff;" (assignment_expression "pcVar31 = (code *)0xffffffff" (identifier "pcVar31") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);" (assignment_expression "iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" (identifier "iVar39") (= "=") (call_expression "(*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" (parenthesized_expression "(*pcStack_184)" (( "(") (pointer_expression "*pcStack_184" (* "*") (identifier "pcStack_184")) () ")")) (argument_list "(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188)" (( "(") (identifier "puStack_180") (, ",") (pointer_expression "*(undefined4 *)(iVar39 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar39 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0xc)" (( "(") (binary_expression "iVar39 + 0xc" (identifier "iVar39") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "pcStack_188") () ")")))) (; ";")) (if_statement "if (iVar39 != 0) goto LAB_000c6790;" (if "if") (parenthesized_expression "(iVar39 != 0)" (( "(") (binary_expression "iVar39 != 0" (identifier "iVar39") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c6790;" (goto "goto") (statement_identifier "LAB_000c6790") (; ";"))) (expression_statement "iVar39 = *piVar41;" (assignment_expression "iVar39 = *piVar41" (identifier "iVar39") (= "=") (pointer_expression "*piVar41" (* "*") (identifier "piVar41"))) (; ";")) (} "}"))) (expression_statement "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));" (assignment_expression "pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" (identifier "pcStack_174") (= "=") (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10))" (parenthesized_expression "(*pcStack_18c)" (( "(") (pointer_expression "*pcStack_18c" (* "*") (identifier "pcStack_18c")) () ")")) (argument_list "(*(undefined4 *)(iVar39 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(iVar39 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar39 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x10)" (( "(") (binary_expression "iVar39 + 0x10" (identifier "iVar39") (+ "+") (number_literal "0x10")) () ")")))) () ")"))))) (; ";")) (expression_statement "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));" (assignment_expression "pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" (identifier "pcVar43") (= "=") (cast_expression "(code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc))" (parenthesized_expression "(*pcStack_18c)" (( "(") (pointer_expression "*pcStack_18c" (* "*") (identifier "pcStack_18c")) () ")")) (argument_list "(*(undefined4 *)(*piVar41 + 0xc))" (( "(") (pointer_expression "*(undefined4 *)(*piVar41 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*piVar41 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar41 + 0xc)" (( "(") (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" (* "*") (identifier "piVar41")) (+ "+") (number_literal "0xc")) () ")")))) () ")"))))) (; ";")) (if_statement "if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" (if "if") (parenthesized_expression "((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43))" (( "(") (binary_expression "(pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)" (parenthesized_expression "(pcStack_174 == (code *)0x0)" (( "(") (binary_expression "pcStack_174 == (code *)0x0" (identifier "pcStack_174") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcStack_174 == pcVar43)" (( "(") (binary_expression "pcStack_174 == pcVar43" (identifier "pcStack_174") (== "==") (identifier "pcVar43")) () ")"))) () ")")) (compound_statement "{\n      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;\n      piVar44 = piVar41;\nLAB_000c6768:\n      iVar32 = iVar32 + -1;\n      piVar41 = piVar44 + 0xc;\n      if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }\n      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);\n      piVar41 = *(int **)(pcVar27 + 0x14);\n      if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }\n      iVar39 = *(int *)(puVar47 + 0x96c38);\n      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);\n      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;\n      uVar3 = *(undefined2 *)(iStack_178 + 0x26);\n      *(code **)(iVar32 + 0x14) = pcVar38;\n      *(undefined2 *)(iVar32 + 0x26) = uVar3;\n      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);\n      FUN_000c4ac8(pcVar26,pcVar22,iVar32);\n      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;\n      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);\n      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);\n      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);\n      param_1 = pcStack_17c;\n      goto LAB_000c5c2c;\n    }" ({ "{") (expression_statement "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;" (assignment_expression "*(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar41 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar41 + 10)" (( "(") (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar41")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar41 + 10) | 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar41 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar41 + 10)" (( "(") (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar41")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" (identifier "piVar44") (= "=") (identifier "piVar41")) (; ";")) (labeled_statement "LAB_000c6768:\n      iVar32 = iVar32 + -1;" (statement_identifier "LAB_000c6768") (: ":") (expression_statement "iVar32 = iVar32 + -1;" (assignment_expression "iVar32 = iVar32 + -1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + -1" (identifier "iVar32") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "piVar41 = piVar44 + 0xc;" (assignment_expression "piVar41 = piVar44 + 0xc" (identifier "piVar41") (= "=") (binary_expression "piVar44 + 0xc" (identifier "piVar44") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (iVar32 != -1) {\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" (if "if") (parenthesized_expression "(iVar32 != -1)" (( "(") (binary_expression "iVar32 != -1" (identifier "iVar32") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;\n        goto LAB_000c6784;\n      }" ({ "{") (if_statement "if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;" (if "if") (parenthesized_expression "(pcVar38 != (code *)piVar44[0x11])" (( "(") (binary_expression "pcVar38 != (code *)piVar44[0x11]" (identifier "pcVar38") (!= "!=") (cast_expression "(code *)piVar44[0x11]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar44[0x11]" (identifier "piVar44") ([ "[") (number_literal "0x11") (] "]")))) () ")")) (goto_statement "goto LAB_000c675c;" (goto "goto") (statement_identifier "LAB_000c675c") (; ";"))) (goto_statement "goto LAB_000c6784;" (goto "goto") (statement_identifier "LAB_000c6784") (; ";")) (} "}"))) (expression_statement "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);" (assignment_expression "param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1)" (identifier "param_5") (= "=") (cast_expression "(code *)(*(int *)(pcVar27 + 0xc) + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar27 + 0xc) + -1)" (( "(") (binary_expression "*(int *)(pcVar27 + 0xc) + -1" (pointer_expression "*(int *)(pcVar27 + 0xc)" (* "*") (cast_expression "(int *)(pcVar27 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xc)" (( "(") (binary_expression "pcVar27 + 0xc" (identifier "pcVar27") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "piVar41 = *(int **)(pcVar27 + 0x14);" (assignment_expression "piVar41 = *(int **)(pcVar27 + 0x14)" (identifier "piVar41") (= "=") (pointer_expression "*(int **)(pcVar27 + 0x14)" (* "*") (cast_expression "(int **)(pcVar27 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x14)" (( "(") (binary_expression "pcVar27 + 0x14" (identifier "pcVar27") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((int)param_5 < 0) {\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }\n      else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" (if "if") (parenthesized_expression "((int)param_5 < 0)" (( "(") (binary_expression "(int)param_5 < 0" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);\n        param_1 = pcStack_17c;\n        if (iVar32 == 0) goto LAB_000c5c2c;\n        pcVar38 = (code *)0x0;\n      }" ({ "{") (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x26b4")) () ")")))) () ")")) (argument_list "(puStack_180,0x31,0)" (( "(") (identifier "puStack_180") (, ",") (number_literal "0x31") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" (identifier "param_1") (= "=") (identifier "pcStack_17c")) (; ";")) (if_statement "if (iVar32 == 0) goto LAB_000c5c2c;" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";"))) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" (identifier "pcVar38") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" (else "else") (compound_statement "{\n        iVar39 = *(int *)(puVar47 + 0x96c38);\n        iVar32 = 0;\n        pcVar38 = (code *)0x0;\n        pcVar42 = (code *)0xffffffff;\n        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);\n        do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);\n        if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }\n        pcVar31 = (code *)0x0;\n        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);\n        param_5 = pcVar22;\n        if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }\n      }" ({ "{") (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "iVar32 = 0;" (assignment_expression "iVar32 = 0" (identifier "iVar32") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar38 = (code *)0x0;" (assignment_expression "pcVar38 = (code *)0x0" (identifier "pcVar38") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar42 = (code *)0xffffffff;" (assignment_expression "pcVar42 = (code *)0xffffffff" (identifier "pcVar42") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);" (assignment_expression "pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c48) + -0x52c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c48) + -0x52c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c48) + -0x52c" (pointer_expression "*(int *)(puVar47 + 0x96c48)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c48)" (( "(") (binary_expression "puVar47 + 0x96c48" (identifier "puVar47") (+ "+") (number_literal "0x96c48")) () ")")))) (+ "+") (number_literal "-0x52c")) () ")")))) (; ";")) (do_statement "do {\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        } while (param_5 != (code *)0xffffffff);" (do "do") (compound_statement "{\n          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }\n          param_5 = param_5 + -1;\n          piVar41 = piVar41 + 0xc;\n        }" ({ "{") (if_statement "if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" (if "if") (parenthesized_expression "((*(ushort *)((int)piVar41 + 10) & 0x40) != 0)" (( "(") (binary_expression "(*(ushort *)((int)piVar41 + 10) & 0x40) != 0" (parenthesized_expression "(*(ushort *)((int)piVar41 + 10) & 0x40)" (( "(") (binary_expression "*(ushort *)((int)piVar41 + 10) & 0x40" (pointer_expression "*(ushort *)((int)piVar41 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar41 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar41 + 10)" (( "(") (binary_expression "(int)piVar41 + 10" (cast_expression "(int)piVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar41")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar32 = *(int *)(*piVar41 + 0x10);\n            if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }\n            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);\n            iVar32 = *(int *)(*piVar41 + 0xc);\n          }" ({ "{") (expression_statement "iVar32 = *(int *)(*piVar41 + 0x10);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0x10)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(*piVar41 + 0x10)" (* "*") (cast_expression "(int *)(*piVar41 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar41 + 0x10)" (( "(") (binary_expression "*piVar41 + 0x10" (pointer_expression "*piVar41" (* "*") (identifier "piVar41")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar32 != 0) {\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);\n              pcStack_1a4 = pcVar38;\n            }" ({ "{") (expression_statement "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(iVar39 + -0x271c))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x271c)" (* "*") (cast_expression "(code *)(iVar39 + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x271c)" (( "(") (binary_expression "iVar39 + -0x271c" (identifier "iVar39") (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcStack_17c,iVar32,0,0)" (( "(") (identifier "pcStack_17c") (, ",") (identifier "iVar32") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcStack_1a4 = pcVar38;" (assignment_expression "pcStack_1a4 = pcVar38" (identifier "pcStack_1a4") (= "=") (identifier "pcVar38")) (; ";")) (} "}"))) (expression_statement "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);" (assignment_expression "pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" (identifier "pcVar38") (= "=") (cast_expression "(code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(**(undefined4 **)pcVar46,pcVar38,iVar32)" (( "(") (pointer_expression "**(undefined4 **)pcVar46" (* "*") (pointer_expression "*(undefined4 **)pcVar46" (* "*") (cast_expression "(undefined4 **)pcVar46" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar46")))) (, ",") (identifier "pcVar38") (, ",") (identifier "iVar32") () ")"))))) (; ";")) (expression_statement "iVar32 = *(int *)(*piVar41 + 0xc);" (assignment_expression "iVar32 = *(int *)(*piVar41 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(*piVar41 + 0xc)" (* "*") (cast_expression "(int *)(*piVar41 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar41 + 0xc)" (( "(") (binary_expression "*piVar41 + 0xc" (pointer_expression "*piVar41" (* "*") (identifier "piVar41")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (expression_statement "param_5 = param_5 + -1;" (assignment_expression "param_5 = param_5 + -1" (identifier "param_5") (= "=") (binary_expression "param_5 + -1" (identifier "param_5") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar41 = piVar41 + 0xc;" (assignment_expression "piVar41 = piVar41 + 0xc" (identifier "piVar41") (= "=") (binary_expression "piVar41 + 0xc" (identifier "piVar41") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_5 != (code *)0xffffffff)" (( "(") (binary_expression "param_5 != (code *)0xffffffff" (identifier "param_5") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (; ";")) (if_statement "if (iVar32 != 0) {\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);\n        }" ({ "{") (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c38) + -0x271c)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c38) + -0x271c" (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")")))) (+ "+") (number_literal "-0x271c")) () ")")))) () ")")) (argument_list "(pcStack_17c,iVar32,0,0)" (( "(") (identifier "pcStack_17c") (, ",") (identifier "iVar32") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar31 = (code *)0x0;" (assignment_expression "pcVar31 = (code *)0x0" (identifier "pcVar31") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);" (assignment_expression "iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96c78) + 0x26b4)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96c78) + 0x26b4" (pointer_expression "*(int *)(puVar47 + 0x96c78)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c78)" (( "(") (binary_expression "puVar47 + 0x96c78" (identifier "puVar47") (+ "+") (number_literal "0x96c78")) () ")")))) (+ "+") (number_literal "0x26b4")) () ")")))) () ")")) (argument_list "(puStack_180,0x31,iVar32)" (( "(") (identifier "puStack_180") (, ",") (number_literal "0x31") (, ",") (identifier "iVar32") () ")")))) (; ";")) (expression_statement "param_5 = pcVar22;" (assignment_expression "param_5 = pcVar22" (identifier "param_5") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (iVar32 == 0) {\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1 = pcStack_17c;\n          if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }\n          goto LAB_000c5c2c;\n        }" ({ "{") (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" (identifier "param_1") (= "=") (identifier "pcStack_17c")) (; ";")) (if_statement "if (pcVar38 != (code *)0x0) {\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" (if "if") (parenthesized_expression "(pcVar38 != (code *)0x0)" (( "(") (binary_expression "pcVar38 != (code *)0x0" (identifier "pcVar38") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);\n          }" ({ "{") (expression_statement "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);" (call_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38)" (parenthesized_expression "(*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" (* "*") (cast_expression "(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar47 + 0x96bf8) + 0x7d30)" (( "(") (binary_expression "*(int *)(puVar47 + 0x96bf8) + 0x7d30" (pointer_expression "*(int *)(puVar47 + 0x96bf8)" (* "*") (cast_expression "(int *)(puVar47 + 0x96bf8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96bf8)" (( "(") (binary_expression "puVar47 + 0x96bf8" (identifier "puVar47") (+ "+") (number_literal "0x96bf8")) () ")")))) (+ "+") (number_literal "0x7d30")) () ")")))) () ")")) (argument_list "(pcStack_17c,pcVar38)" (( "(") (identifier "pcStack_17c") (, ",") (identifier "pcVar38") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar39 = *(int *)(puVar47 + 0x96c38);" (assignment_expression "iVar39 = *(int *)(puVar47 + 0x96c38)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)(puVar47 + 0x96c38)" (* "*") (cast_expression "(int *)(puVar47 + 0x96c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + 0x96c38)" (( "(") (binary_expression "puVar47 + 0x96c38" (identifier "puVar47") (+ "+") (number_literal "0x96c38")) () ")"))))) (; ";")) (expression_statement "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);" (assignment_expression "pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1)" (identifier "pcVar31") (= "=") (cast_expression "(code *)(*(uint *)(iStack_178 + 4) & 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(uint *)(iStack_178 + 4) & 1)" (( "(") (binary_expression "*(uint *)(iStack_178 + 4) & 1" (pointer_expression "*(uint *)(iStack_178 + 4)" (* "*") (cast_expression "(uint *)(iStack_178 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_178 + 4)" (( "(") (binary_expression "iStack_178 + 4" (identifier "iStack_178") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;" (assignment_expression "*(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar32 + 4) | (uint)pcVar31" (pointer_expression "*(uint *)(iVar32 + 4)" (* "*") (cast_expression "(uint *)(iVar32 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 4)" (( "(") (binary_expression "iVar32 + 4" (identifier "iVar32") (+ "+") (number_literal "4")) () ")")))) (| "|") (cast_expression "(uint)pcVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar31")))) (; ";")) (expression_statement "uVar3 = *(undefined2 *)(iStack_178 + 0x26);" (assignment_expression "uVar3 = *(undefined2 *)(iStack_178 + 0x26)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined2 *)(iStack_178 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iStack_178 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_178 + 0x26)" (( "(") (binary_expression "iStack_178 + 0x26" (identifier "iStack_178") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (expression_statement "*(code **)(iVar32 + 0x14) = pcVar38;" (assignment_expression "*(code **)(iVar32 + 0x14) = pcVar38" (pointer_expression "*(code **)(iVar32 + 0x14)" (* "*") (cast_expression "(code **)(iVar32 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar32 + 0x14)" (( "(") (binary_expression "iVar32 + 0x14" (identifier "iVar32") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "pcVar38")) (; ";")) (expression_statement "*(undefined2 *)(iVar32 + 0x26) = uVar3;" (assignment_expression "*(undefined2 *)(iVar32 + 0x26) = uVar3" (pointer_expression "*(undefined2 *)(iVar32 + 0x26)" (* "*") (cast_expression "(undefined2 *)(iVar32 + 0x26)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + 0x26)" (( "(") (binary_expression "iVar32 + 0x26" (identifier "iVar32") (+ "+") (number_literal "0x26")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);" (assignment_expression "iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" (identifier "iVar32") (= "=") (call_expression "(*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3)" (parenthesized_expression "(*(code *)(iVar39 + -0x73f4))" (( "(") (pointer_expression "*(code *)(iVar39 + -0x73f4)" (* "*") (cast_expression "(code *)(iVar39 + -0x73f4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + -0x73f4)" (( "(") (binary_expression "iVar39 + -0x73f4" (identifier "iVar39") (+ "+") (number_literal "-0x73f4")) () ")")))) () ")")) (argument_list "(pcVar22,iVar32,3)" (( "(") (identifier "pcVar22") (, ",") (identifier "iVar32") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "FUN_000c4ac8(pcVar26,pcVar22,iVar32);" (call_expression "FUN_000c4ac8(pcVar26,pcVar22,iVar32)" (identifier "FUN_000c4ac8") (argument_list "(pcVar26,pcVar22,iVar32)" (( "(") (identifier "pcVar26") (, ",") (identifier "pcVar22") (, ",") (identifier "iVar32") () ")"))) (; ";")) (expression_statement "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;" (assignment_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120" (pointer_expression "*(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" (* "*") (cast_expression "(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10" (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar32 * 0x30" (identifier "iVar32") (* "*") (number_literal "0x30"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pcStack_120")) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30)" (( "(") (binary_expression "*(int *)(pcVar22 + 0x14) + iVar32 * 0x30" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "iVar32 * 0x30" (identifier "iVar32") (* "*") (number_literal "0x30"))) () ")")))) (; ";")) (expression_statement "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);" (assignment_expression "*(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (pointer_expression "*(undefined2 *)(pcVar27 + 8)" (* "*") (cast_expression "(undefined2 *)(pcVar27 + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 8)" (( "(") (binary_expression "pcVar27 + 8" (identifier "pcVar27") (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (* "*") (cast_expression "(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8)" (( "(") (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14) + 8" (binary_expression "pcStack_19c + *(int *)(pcVar22 + 0x14)" (identifier "pcStack_19c") (+ "+") (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);" (assignment_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =\n           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]")) (= "=") (call_expression "(code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1)" (( "(") (binary_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1" (cast_expression "(char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe]" (identifier "pcStack_19c") ([ "[") (binary_expression "*(int *)(pcVar22 + 0x14) + 0xe" (pointer_expression "*(int *)(pcVar22 + 0x14)" (* "*") (cast_expression "(int *)(pcVar22 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar22 + 0x14)" (( "(") (binary_expression "pcVar22 + 0x14" (identifier "pcVar22") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0xe")) (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1 = pcStack_17c;" (assignment_expression "param_1 = pcStack_17c" (identifier "param_1") (= "=") (identifier "pcStack_17c")) (; ";")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000c6790:\n  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" (statement_identifier "LAB_000c6790") (: ":") (if_statement "if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;" (if "if") (parenthesized_expression "(pcVar42 != (code *)0x0)" (( "(") (binary_expression "pcVar42 != (code *)0x0" (identifier "pcVar42") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000c5c2c;" (goto "goto") (statement_identifier "LAB_000c5c2c") (; ";")))) (expression_statement "iVar32 = *(int *)(pcVar27 + 0xc);" (assignment_expression "iVar32 = *(int *)(pcVar27 + 0xc)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(pcVar27 + 0xc)" (* "*") (cast_expression "(int *)(pcVar27 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xc)" (( "(") (binary_expression "pcVar27 + 0xc" (identifier "pcVar27") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pcVar42 = (code *)0x1;" (assignment_expression "pcVar42 = (code *)0x1" (identifier "pcVar42") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pcVar31 = pcVar38;" (assignment_expression "pcVar31 = pcVar38" (identifier "pcVar31") (= "=") (identifier "pcVar38")) (; ";")) (goto_statement "goto LAB_000c5bb0;" (goto "goto") (statement_identifier "LAB_000c5bb0") (; ";")) (labeled_statement "LAB_000c675c:\n  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" (statement_identifier "LAB_000c675c") (: ":") (expression_statement "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;" (assignment_expression "*(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" (* "*") (cast_expression "(ushort *)((int)piVar44 + 0x3a)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar44 + 0x3a)" (( "(") (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44")) (+ "+") (number_literal "0x3a")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar44 + 0x3a) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar44 + 0x3a)" (* "*") (cast_expression "(ushort *)((int)piVar44 + 0x3a)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar44 + 0x3a)" (( "(") (binary_expression "(int)piVar44 + 0x3a" (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "0xffbf"))) (; ";"))) (expression_statement "piVar44 = piVar41;" (assignment_expression "piVar44 = piVar41" (identifier "piVar44") (= "=") (identifier "piVar41")) (; ";")) (goto_statement "goto LAB_000c6768;" (goto "goto") (statement_identifier "LAB_000c6768") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (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: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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 (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) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (identifier)))) (expression_statement (assignment_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: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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)))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (number_literal)))) alternative: (else_clause (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (goto_statement label: (statement_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: (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))))))) consequence: (compound_statement (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (sized_type_specifier) 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: (number_literal) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) 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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (primitive_type) 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: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (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: (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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) right: (number_literal)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (identifier) (number_literal) (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 (identifier) (identifier) (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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (true))))) (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (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 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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (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: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (identifier))) (if_statement condition: (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (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: (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 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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_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))) (expression_statement (assignment_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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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 (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: (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)))))))) 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: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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 (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: (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)))))))) 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: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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) (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (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: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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))))))) (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: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (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))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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))))) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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 (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_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: (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: (parenthesized_expression (binary_expression left: (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: (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: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (char_literal (character)))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (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))) (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: (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 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (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: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) 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))))))) (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: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (identifier))))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (identifier))))))))) consequence: (compound_statement (if_statement 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: (type_identifier)) value: (identifier))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal) (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (number_literal) right: (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: (number_literal)))) right: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (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)))) alternative: (else_clause (compound_statement (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (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: (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))) 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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))) right: (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: (primitive_type) 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))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))) (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: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))))))) (if_statement condition: (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: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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)))))) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) 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: (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: (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: (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: (char_literal (escape_sequence)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))))) (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: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) 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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (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: (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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) 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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (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: (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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) 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: (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))))))))) (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: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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))))) (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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (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 (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (identifier)))))) (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: (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: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) 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: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (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))))) (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: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (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: (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))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (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))))) (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: (number_literal))))) alternative: (else_clause (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: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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: (number_literal))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (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))) (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) (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: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (number_literal))))) (labeled_statement label: (statement_identifier) (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: (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: (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)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (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: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (while_statement condition: (parenthesized_expression (true)) body: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))))) (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) (pointer_expression argument: (identifier)) (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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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 (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_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) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))))))))))) (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: (type_identifier)) 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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) 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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal)) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))) 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: (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))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_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)))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))) consequence: (goto_statement label: (statement_identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (if_statement 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: (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))) (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: (type_identifier)) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (do_statement body: (compound_statement (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (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 (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal)))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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 declarator: (abstract_pointer_declarator))) value: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (type_identifier)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement 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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (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: (identifier) right: (number_literal))))) right: (number_literal))) 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))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (sized_type_specifier) 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: (identifier))) (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: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) 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)) value: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (identifier))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (type_identifier) 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)))))) (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (binary_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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))))) (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (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: (pointer_expression argument: (identifier)))) right: (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: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (pointer_expression argument: (identifier)) (number_literal))))) 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: (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: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))) (goto_statement label: (statement_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) (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) (identifier)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) arguments: (argument_list (identifier) (identifier) (number_literal) (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) (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_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)))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (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))) (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: (type_identifier)) 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: (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: (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))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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 (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) 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 (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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))))))) 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 declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (labeled_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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement))) condition: (parenthesized_expression (true))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (call_expression function: (identifier) arguments: (argument_list (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))))))))) (goto_statement label: (statement_identifier)) (labeled_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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (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: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) 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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))))) (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: (identifier))))) 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: (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))) (labeled_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)))) (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: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) 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))))))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (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) (number_literal) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal) (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 (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (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) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_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: (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: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))

void MASKED(code *param_1,undefined4 *param_2,int *param_3,code *param_4,code *param_5,
                 code *param_6)

{
  byte *pbVar1;
  byte bVar2;
  undefined2 uVar3;
  uint uVar4;
  int in_zero;
  int *piVar5;
  code *pcVar6;
  ushort uVar14;
  byte *pbVar7;
  code cVar15;
  undefined4 uVar8;
  char cVar16;
  undefined4 uVar9;
  int iVar10;
  uint uVar11;
  undefined1 *puVar12;
  uint uVar13;
  code *pcVar17;
  uint uVar18;
  ushort uVar23;
  int iVar19;
  undefined4 *puVar20;
  uint uVar21;
  code cVar24;
  code *pcVar22;
  undefined1 uVar25;
  code *pcVar26;
  code *pcVar27;
  short sVar28;
  int iVar29;
  byte *pbVar30;
  code *pcVar31;
  undefined4 in_t0;
  int iVar32;
  int iVar33;
  uint uVar34;
  undefined4 in_t1;
  char *pcVar35;
  char *pcVar36;
  code *pcVar37;
  code *in_t2;
  code *in_t3;
  code *in_t4;
  code *in_t5;
  code *in_t6;
  code *pcVar38;
  int iVar39;
  char *pcVar40;
  int *piVar41;
  code *pcVar42;
  code *pcVar43;
  bool bVar45;
  int *piVar44;
  code *pcVar46;
  undefined *puVar47;
  code *pcVar48;
  undefined8 uVar49;
  undefined8 uVar50;
  ulonglong uVar51;
  ulonglong uVar52;
  undefined8 uVar53;
  code *pcVar54;
  code *pcVar55;
  code *pcVar56;
  code *pcStack_1b8;
  code *pcStack_1b0;
  code *pcStack_1a4;
  code *pcStack_19c;
  uint uStack_198;
  uint uStack_194;
  code *pcStack_190;
  code *pcStack_18c;
  code *pcStack_188;
  code *pcStack_184;
  undefined4 *puStack_180;
  code *pcStack_17c;
  int iStack_178;
  code *pcStack_174;
  undefined1 auStack_168 [4];
  undefined1 auStack_164 [4];
  undefined4 uStack_160;
  undefined4 uStack_15c;
  byte bStack_158;
  byte bStack_157;
  byte bStack_156;
  byte bStack_155;
  int iStack_154;
  undefined4 *puStack_150;
  undefined4 *puStack_14c;
  code *pcStack_148;
  code *pcStack_144;
  code *pcStack_140;
  undefined *puStack_13c;
  code *pcStack_138;
  code *pcStack_134;
  int *piStack_130;
  code *pcStack_12c;
  code *pcStack_120;
  code *local_110;
  undefined4 local_10c;
  undefined4 local_108;
  undefined4 local_104;
  undefined4 *local_100;
  undefined4 *local_fc;
  undefined4 local_f8;
  undefined4 local_f4;
  undefined4 local_f0;
  undefined4 local_ec;
  undefined4 local_e8;
  undefined4 local_e4;
  undefined4 local_e0;
  undefined4 local_dc;
  undefined4 local_d8;
  undefined4 local_d4;
  undefined4 local_d0;
  undefined4 local_cc;
  code *local_c8;
  undefined4 local_c4;
  undefined4 local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  undefined4 local_b4;
  undefined4 local_b0;
  undefined4 local_ac;
  undefined4 local_a8;
  undefined4 local_a4;
  undefined4 local_a0;
  undefined4 local_9c;
  undefined4 local_98;
  undefined4 local_94;
  code *local_90;
  undefined4 local_8c;
  undefined4 local_88;
  undefined4 local_84;
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78;
  undefined4 local_74;
  undefined4 local_70;
  undefined4 local_6c;
  undefined4 local_68;
  undefined1 local_64 [4];
  uint local_60;
  undefined4 local_48;
  undefined1 local_3c;
  int local_2c;
  
  pcVar27 = (code *)PTR___stack_chk_guard_0015ba2c;
  pcVar42 = (code *)&local_10c;
  local_110 = (code *)0x0;
  local_d4 = 0;
  local_d0 = 0;
  local_cc = 0;
  local_c8 = (code *)0x0;
  local_c4 = 0;
  local_c0 = 0;
  local_bc = 0;
  local_b8 = 0;
  local_b4 = 0;
  local_b0 = 0;
  local_ac = 0;
  local_a8 = 0;
  local_a4 = 0;
  local_a0 = 0;
  local_9c = 0;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  local_98 = 0;
  local_10c = 0;
  local_94 = 0;
  local_90 = (code *)0x0;
  local_8c = 0;
  local_88 = 0;
  local_84 = 0;
  local_80 = 0;
  local_7c = 0;
  local_78 = 0;
  local_74 = 0;
  local_70 = 0;
  local_6c = 0;
  local_68 = 0;
  local_108 = 0;
  local_104 = 0;
  local_100 = (undefined4 *)0x0;
  local_fc = (undefined4 *)0x0;
  local_f8 = 0;
  local_f4 = 0;
  local_f0 = 0;
  local_ec = 0;
  local_e8 = 0;
  local_e4 = 0;
  local_e0 = 0;
  local_dc = 0;
  local_d8 = 0;
  pcVar31 = param_4;
  (*(code *)(PTR_LAB_0015b65c + 0x656c))(local_64,*param_2);
  local_10c = CONCAT13(0x2c,local_10c._1_3_);
  local_d4 = CONCAT13(0x39,local_d4._1_3_);
  local_9c = CONCAT13(0x37,local_9c._1_3_);
  local_c4 = *(undefined4 *)(*param_3 + 4);
  local_8c = *(undefined4 *)(*param_3 + 0x18);
  local_100 = &local_d4;
  local_fc = &local_9c;
  local_c8 = (code *)local_64;
  local_90 = (code *)local_64;
  local_48 = FUN_000c29d4(param_1,local_64,&local_110);
  local_3c = local_64[0];
  local_60 = local_60 & 0xffffefff;
  local_64[0] = (code)0xa4;
  pcVar26 = param_1;
  pcVar46 = param_4;
  if (param_5 == (code *)0x0) {
    local_60 = local_60 | 1;
    FUN_000bea74(param_1,pcVar42);
  }
  else {
    (*param_5)(param_1,pcVar42);
    pcVar31 = param_6;
  }
  pcVar22 = local_110;
  if (local_110 != (code *)0x0) {
    pcVar26 = param_1;
    (*(code *)(PTR_LAB_0015b6c0 + -0x7cb0))();
  }
  if (local_2c == *(int *)pcVar27) {
    return;
  }
  pcVar48 = FUN_000c4ac8;
  puVar47 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar5 = *(int **)(puVar47 + 0x96f64);
  pcStack_134 = param_5;
  puStack_13c = pcVar27;
  pcVar38 = *(code **)pcVar22;
  iStack_154 = *piVar5;
  pcVar17 = *(code **)pcVar38;
  pcVar6 = *(code **)pcVar17;
  pcVar43 = (code *)local_64;
  puStack_150 = &local_9c;
  puStack_14c = &local_d4;
  pcStack_148 = pcVar42;
  pcStack_144 = (code *)local_64;
  pcStack_140 = param_1;
  pcStack_138 = param_4;
  piStack_130 = param_3;
  pcStack_12c = pcVar48;
  pcStack_120 = pcVar46;
  uVar53 = CONCAT44(in_t1,in_t0);
  uVar50 = CONCAT44(pcStack_190,pcStack_18c);
  if (pcVar6[0x51] != (code)0x0) goto LAB_000c4c58;
  iVar32 = *(int *)(pcVar22 + 0x14);
  pcStack_1b8 = pcVar38 + 0x1e8;
  pcStack_19c = (code *)((int)pcVar46 * 0x30);
  pcVar43 = pcStack_19c + iVar32;
  param_4 = *(code **)pcVar43;
  pcVar27 = pcVar22;
  if (*(int *)(param_4 + 0xc) == 0) {
    param_1 = (code *)(uint)(byte)*param_4;
    uVar49 = 0;
    uVar50 = 0;
    if (param_1 != (code *)&DAT_00000031) goto LAB_000c4b90;
LAB_000c4cac:
    uVar49 = uVar50;
    pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
    pcVar42 = (code *)uVar49;
    iVar39 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1a50))(pcVar17,param_4);
    uVar53 = CONCAT44(in_t1,iVar32);
    uVar50 = CONCAT44(pcStack_190,pcStack_18c);
    if (iVar39 != 0) goto LAB_000c4c58;
    if ((*(uint *)(param_4 + 4) & 0x800) == 0) {
      if (*(int *)(param_4 + 0x14) == 0) {
        uVar50 = 0;
      }
      else {
        uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2a54))(pcStack_1b8);
      }
    }
    else {
      uVar50 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2958))(pcStack_1b8);
    }
    iVar32 = *(int *)(puVar47 + 0x96c38);
    *(undefined8 *)(pcVar43 + 0x20) = uVar50;
    pcStack_1b0 = (code *)(iVar32 + -0x2d10);
  }
  else {
    uVar49 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x2d10))();
    param_1 = (code *)(uint)(byte)*param_4;
    uVar50 = uVar49;
    if (param_1 == (code *)&DAT_00000031) goto LAB_000c4cac;
LAB_000c4b90:
    iVar32 = *(int *)(puVar47 + 0x96c38);
    if (param_1 == (code *)0x32) {
      *(undefined4 *)(pcVar43 + 0x20) = 0;
      pcStack_1b0 = (code *)(iVar32 + -0x2d10);
      *(undefined4 *)(pcVar43 + 0x24) = 0;
    }
    else {
      if (*(int *)(param_4 + 0x10) == 0) {
        uVar50 = 0;
      }
      else {
        uVar50 = (*(code *)(iVar32 + -0x2d10))(pcStack_1b8);
      }
      pcStack_1b0 = (code *)(iVar32 + -0x2d10);
      *(undefined8 *)(pcVar43 + 0x20) = uVar50;
    }
  }
  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
  pcVar42 = (code *)uVar49;
  *(undefined4 *)(pcVar38 + 0x1e8) = 0;
  uVar50 = (*pcStack_1b0)(pcStack_1b8,param_4);
  if (*(int *)(pcVar38 + 0x1e8) != 0) {
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x1000;
  }
  if ((*(uint *)(param_4 + 4) & 1) == 0) {
    uStack_198 = 0;
    uStack_194 = 0;
  }
  else {
    if ((int)*(uint *)(pcVar38 + 0x1ec) < 1) {
LAB_000c4c3c:
      iVar32 = *(int *)(puVar47 + 0x96b34);
LAB_000c4c40:
      (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x1104))(pcVar17,iVar32 + -0x6e04);
      uVar53 = uVar50;
      uVar50 = CONCAT44(pcStack_190,pcStack_18c);
      goto LAB_000c4c58;
    }
    if ((int)*(short *)(param_4 + 0x26) == *(int *)(pcVar38 + 0x1f0)) {
      uVar18 = 0;
      uStack_198 = 0;
      uVar13 = 1;
      uStack_194 = 0;
    }
    else {
      uVar18 = 0;
      pcVar46 = pcVar38 + 500;
      do {
        uVar18 = uVar18 + 1;
        if (uVar18 == *(uint *)(pcVar38 + 0x1ec)) goto LAB_000c4c3c;
        iVar32 = *(int *)pcVar46;
        pcVar46 = pcVar46 + 4;
      } while (*(short *)(param_4 + 0x26) != iVar32);
      uVar13 = 1 << (uVar18 & 0x1f);
      if ((uVar18 & 0x20) == 0) {
        uVar18 = 0;
      }
      else {
        uVar18 = uVar13;
        uVar13 = 0;
      }
      uStack_194 = uVar13 - 1;
      uStack_198 = (uint)(uStack_194 < uVar13) + (uVar18 - 1);
    }
    uVar34 = (uint)((ulonglong)uVar50 >> 0x20) | uVar18;
    uVar21 = (uint)uVar50 | uVar13;
    uVar50 = CONCAT44(uVar34,uVar21);
    pcVar31 = (code *)(uVar34 << 0x1f);
    if (uVar18 <= uVar34 >> 1) {
      if (uVar18 != uVar34 >> 1) goto LAB_000c4c3c;
      if (uVar13 <= ((uint)pcVar31 | uVar21 >> 1)) {
        iVar32 = *(int *)(puVar47 + 0x96b34);
        goto LAB_000c4c40;
      }
    }
  }
  pcVar37 = (code *)((ulonglong)uVar50 >> 0x20);
  pcVar48 = (code *)uVar50;
  *(undefined8 *)(pcVar43 + 0x28) = uVar50;
  *(undefined2 *)(pcVar43 + 0xc) = 0;
  *(undefined4 *)(pcVar43 + 0x14) = 0xffffffff;
  *(undefined4 *)(pcVar43 + 0x10) = 0xffffffff;
  pcVar46 = pcVar43;
  uVar53 = uVar50;
  if ((0xc < ((uint)(param_1 + -0x2d) & 0xff)) ||
     (-1 < (int)((0x1f31U >> ((uint)(param_1 + -0x2d) & 0x1f)) << 0x1f))) {
    if (*param_4 == (code)0x30) {
      iVar32 = *(int *)(puVar47 + 0x96dac);
      if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;
      uVar8 = 0x39;
      bVar45 = false;
      iVar39 = *(int *)(puVar47 + 0x96c38);
      iVar29 = *(int *)(puVar47 + 0x96c78);
      iVar19 = *(int *)(puVar47 + 0x96c38);
      puVar20 = (undefined4 *)(*(int *)(param_4 + 0x14) + 4);
      while( true ) {
        param_5 = *(code **)(param_4 + 0xc);
        if (param_5 != (code *)0x0) {
          param_5 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,param_5,0,0);
        }
        pcVar31 = (code *)*puVar20;
        if (pcVar31 != (code *)0x0) {
          pcVar31 = (code *)(*(code *)(iVar19 + -0x271c))(pcVar6,pcVar31,0,0);
        }
        iVar10 = (*(code *)(iVar29 + 0x26b4))(pcVar17,uVar8,param_5);
        if (iVar10 != 0) {
          *(uint *)(iVar10 + 4) = *(uint *)(iVar10 + 4) | *(uint *)(param_4 + 4) & 1;
          *(undefined2 *)(iVar10 + 0x26) = *(undefined2 *)(param_4 + 0x26);
        }
        iVar10 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar10,3);
        puVar20 = puVar20 + 5;
        uVar49 = CONCAT44(pcStack_1a4,puVar20);
        (*(code *)(iVar32 + 0x4ac8))(pcVar26,pcVar22,iVar10);
        iVar33 = *(int *)(pcVar22 + 0x14);
        *(code **)(iVar33 + iVar10 * 0x30 + 0x10) = pcStack_120;
        *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar10 * 0x30 + 8) =
             *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
        pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
             (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
        uVar8 = 0x37;
        if (bVar45) break;
        bVar45 = true;
      }
      param_1 = (code *)0x1;
      pcVar38 = (code *)(iVar39 + -0x73f4);
      pcVar46 = pcStack_19c + iVar33;
      pcStack_190 = (code *)(iVar32 + 0x4ac8);
      uVar53 = CONCAT44(pcVar37,iVar33);
    }
    else {
      pcVar31 = (code *)0x1a0;
      if (*param_4 == (code)0x2b) {
        pcStack_1a4 = *(code **)pcVar22;
        puStack_180 = *(undefined4 **)pcStack_1a4;
        param_1 = (code *)*puStack_180;
        pcStack_18c = pcStack_19c + *(int *)(pcVar22 + 0x14);
        iStack_178 = *(int *)pcStack_18c;
        pcVar43 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x2a40))(param_1);
        *(code **)(pcStack_18c + 0x1c) = pcVar43;
        pcVar27 = pcStack_18c;
        pcVar42 = pcStack_1a4;
        if (pcVar43 == (code *)0x0) goto LAB_000c5c2c;
        pcVar42 = *(code **)(puVar47 + 0x96eec);
        *(ushort *)(pcStack_18c + 10) = *(ushort *)(pcStack_18c + 10) | 0x10;
        uVar8 = (*pcVar42)(pcVar43 + 0x18,0,0x180);
        *(code **)pcVar43 = pcStack_1a4;
        pcVar43[9] = (code)0x0;
        *(undefined4 *)(pcVar43 + 4) = 0;
        iVar32 = *(int *)(puVar47 + 0x96c38);
        *(undefined4 *)(pcVar43 + 0xc) = 0;
        *(undefined4 *)(pcVar43 + 0x14) = uVar8;
        pcStack_174 = (code *)(iVar32 + -0x70f0);
        *(undefined4 *)(pcVar43 + 0x10) = 8;
        (*pcStack_174)(pcVar43,iStack_178,0x2b);
        pcVar42 = (code *)(*(int *)(pcVar43 + 0xc) + -1);
        if ((int)pcVar42 < 0) {
          pcVar38 = pcStack_18c;
          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;
        }
        else {
          param_5 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
          uVar50 = CONCAT44(param_5,pcStack_18c);
          do {
            pcVar27 = pcVar42 + -1;
            FUN_000c4ac8(pcVar26,pcVar43,pcVar42);
            pcVar42 = pcVar27;
          } while (pcVar27 != (code *)0xffffffff);
          pcVar42 = (code *)0xffffffff;
          pcVar27 = (code *)0xffffffff;
          pcStack_190 = param_5;
          if (param_1[0x51] != (code)0x0) goto LAB_000c5c2c;
          in_t2 = *(code **)(pcVar43 + 0xc);
          pcVar42 = in_t2 + -1;
          pcVar46 = *(code **)(pcVar43 + 0x14);
          pcVar38 = (code *)0xffffffff;
          if (-1 < (int)pcVar42) {
            uVar13 = 0xffffffff;
            pcStack_188 = (code *)0xffffffff;
            param_5 = (code *)0xffffffff;
            pcStack_184 = (code *)0xffffffff;
            pcVar38 = (code *)0xffffffff;
            pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c10) + -0x2b10);
            goto LAB_000c5ae4;
          }
        }
        *(undefined4 *)(pcVar43 + 0x19c) = 0xffffffff;
        uVar13 = 0xffffffff;
        *(undefined4 *)(pcVar43 + 0x198) = 0xffffffff;
        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
        pcVar22[9] = (code)0x1;
        iVar32 = *(int *)(pcVar43 + 0xc);
        param_5 = (code *)0xffffffff;
        pcVar27 = pcVar43;
        pcStack_17c = param_1;
        if (iVar32 != 2) goto LAB_000c5b7c;
        goto LAB_000c6e58;
      }
    }
    goto LAB_000c4d78;
  }
  iVar32 = *(int *)(param_4 + 0xc);
  if (iVar32 != 0) {
    uVar13 = *(uint *)(iVar32 + 4);
    while ((uVar13 & 0x1000) != 0) {
      if ((uVar13 & 0x40000) == 0) {
        iVar32 = *(int *)(iVar32 + 0xc);
      }
      else {
        iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + 4);
      }
      if (iVar32 == 0) break;
      uVar13 = *(uint *)(iVar32 + 4);
    }
  }
  param_5 = *(code **)(param_4 + 0x10);
  if (param_5 != (code *)0x0) {
    uVar13 = *(uint *)(param_5 + 4);
    while ((uVar13 & 0x1000) != 0) {
      if ((uVar13 & 0x40000) == 0) {
        param_5 = *(code **)(param_5 + 0xc);
      }
      else {
        param_5 = *(code **)(*(int *)(param_5 + 0x14) + 4);
      }
      if (param_5 == (code *)0x0) break;
      uVar13 = *(uint *)(param_5 + 4);
    }
  }
  uVar23 = 0x1fff;
  if ((*(uint *)(pcVar43 + 0x20) & (uint)pcStack_1a4) != 0 ||
      (*(uint *)(pcVar43 + 0x24) & (uint)pcVar42) != 0) {
    uVar23 = 0x800;
  }
  if (0 < *(int *)(pcVar43 + 0x18)) {
    iVar32 = *(int *)(*(int *)(iVar32 + 0x14) + (*(int *)(pcVar43 + 0x18) + -1) * 0x14 + 4);
  }
  iVar39 = *(int *)(puVar47 + 0x96c4c);
  pcVar31 = pcVar42;
  iVar32 = (*(code *)(iVar39 + -0x28cc))
                     (pcVar26,0x800,pcStack_1a4,pcVar42,&uStack_160,iVar32,param_1);
  if (iVar32 != 0) {
    *(undefined4 *)(pcVar43 + 0x14) = uStack_160;
    *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;
    if (param_1 == (code *)&DAT_00000031) {
      uVar14 = 1;
    }
    else {
      uVar14 = 0x100;
      if (param_1 != (code *)0x32) {
        if (param_1 == (code *)0x2d) {
          uVar14 = 0x80;
        }
        else {
          uVar14 = (ushort)(2 << ((uint)(param_1 + -0x35) & 0x1f));
        }
      }
    }
    *(ushort *)(pcVar43 + 0xc) = uVar23 & uVar14;
  }
  if (param_1 == (code *)0x2d) {
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;
  }
  pcVar38 = (code *)&uStack_160;
  pcStack_190 = pcVar37;
  pcStack_18c = pcVar48;
  if (param_5 == (code *)0x0) goto LAB_000c4d78;
  pcVar31 = *(code **)(pcVar43 + 0x24);
  pcVar54 = (code *)&uStack_160;
  pcVar55 = param_5;
  pcVar56 = param_1;
  iVar32 = (*(code *)(iVar39 + -0x28cc))(pcVar26);
  if (iVar32 == 0) goto LAB_000c4d78;
  uVar49 = uVar50;
  if (*(int *)(pcVar43 + 0x14) < 0) {
    iVar32 = *(int *)(param_4 + 0xc);
    uVar13 = 0;
    param_5 = param_4;
  }
  else {
    pcVar31 = (code *)0x0;
    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))
                                (pcVar6,param_4,0,0,pcVar54,pcVar55,pcVar56);
    uVar53 = uVar50;
    if (pcVar6[0x51] != (code)0x0) {
      pcVar38 = pcVar6;
      if (param_5 == (code *)0x0) goto LAB_000c4c58;
      (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7bc4))(pcVar6,param_5);
      goto LAB_000c4c58;
    }
    pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
    iVar32 = (*pcVar38)(pcVar22,param_5,3);
    if (iVar32 == 0) goto LAB_000c4c58;
    pcVar43 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);
    *(code **)(pcVar43 + 0x10) = pcStack_120;
    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 8) =
         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
    if (param_1 == (code *)0x2d) {
      *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 0x800;
    }
    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
    *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 8;
    uVar13 = *(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80;
    if ((*(ushort *)(*(int *)pcVar17 + 0x4c) & 0x80) == 0) {
      iVar32 = *(int *)(param_5 + 0xc);
      if (((*param_5 == (code)0x35) || (*param_5 == (code)0x2d)) &&
         ((*(uint *)(param_5 + 4) & 1) == 0)) {
        pcVar27 = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);
        iVar39 = (*pcVar27)(iVar32);
        iVar29 = (*pcVar27)(*(undefined4 *)(param_5 + 0x10));
        pcStack_188 = pcVar48;
        if (iVar39 == iVar29) {
          iVar32 = *(int *)(param_5 + 0xc);
        }
        else {
          iVar32 = *(int *)(param_5 + 0xc);
          uVar49 = CONCAT44(pcVar27,pcVar37);
          if ((iVar39 < 0x43) || (uVar49 = CONCAT44(pcVar27,pcVar37), iVar29 < 0x43))
          goto LAB_000c5710;
        }
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x7808))
                           (pcVar17,iVar32,*(undefined4 *)(param_5 + 0x10));
        if (iVar32 == 0) {
LAB_000c5964:
          uVar14 = *(ushort *)(pcVar46 + 0xc);
LAB_000c5968:
          uVar13 = 0x800;
          *(ushort *)(pcVar46 + 0xc) = uVar14 | 0x800;
        }
        else {
          if ((*(int *)(iVar32 + 0xc) == *(int *)(puVar47 + 0x96c10) + -0x7af0) &&
             (*(int *)(iVar32 + 8) == 0)) {
            uVar14 = *(ushort *)(pcVar46 + 0xc);
            goto LAB_000c5968;
          }
          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c4c) + -0x7c14))
                             (pcVar17,*(undefined4 *)(param_5 + 0xc),*(undefined4 *)(param_5 + 0x10)
                             );
          if (iVar32 != 0) goto LAB_000c5964;
        }
        iVar32 = *(int *)(param_5 + 0xc);
        uVar49 = uVar50;
      }
    }
    else {
      iVar32 = *(int *)(param_5 + 0xc);
      uVar13 = 0;
    }
  }
LAB_000c5710:
  iVar39 = *(int *)(param_5 + 0x10);
  uVar18 = *(uint *)(iVar39 + 4) & 0x100;
  if (uVar18 == (*(uint *)(iVar32 + 4) & 0x100)) {
    if (uVar18 == 0) {
      iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x75dc))(pcVar17);
      if (iVar32 != 0) {
        *(uint *)(*(int *)(param_5 + 0xc) + 4) = *(uint *)(*(int *)(param_5 + 0xc) + 4) | 0x100;
      }
      iVar39 = *(int *)(param_5 + 0x10);
      iVar32 = *(int *)(param_5 + 0xc);
      uVar49 = uVar50;
    }
    else {
      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) & 0xfffffeff;
      iVar39 = *(int *)(param_5 + 0x10);
      iVar32 = *(int *)(param_5 + 0xc);
    }
  }
  pcStack_190 = (code *)((ulonglong)uVar49 >> 0x20);
  pcStack_18c = (code *)uVar49;
  *(int *)(param_5 + 0xc) = iVar39;
  *(int *)(param_5 + 0x10) = iVar32;
  if (0x35 < (byte)*param_5) {
    *param_5 = (code)(((char)*param_5 - 0x36U ^ 2) + 0x36);
  }
  *(undefined8 *)(pcVar43 + 0x28) = uVar50;
  *(uint *)(pcVar43 + 0x20) = uStack_198 | (uint)pcStack_1a4;
  uVar49 = CONCAT44(pcStack_1a4,uStack_194 | (uint)pcVar42);
  *(uint *)(pcVar43 + 0x24) = uStack_194 | (uint)pcVar42;
  *(undefined4 *)(pcVar43 + 0x14) = uStack_160;
  *(undefined4 *)(pcVar43 + 0x1c) = uStack_15c;
  uVar18 = (uint)(byte)*param_5;
  if (uVar18 == 0x31) {
    uVar18 = 1;
  }
  else if (uVar18 == 0x32) {
    uVar18 = 0x100;
  }
  else if (uVar18 == 0x2d) {
    uVar18 = 0x80;
  }
  else {
    uVar18 = 2 << (uVar18 - 0x35 & 0x1f) & 0xffff;
  }
  param_1 = (code *)(uVar13 + uVar18);
  *(ushort *)(pcVar43 + 0xc) = (ushort)param_1 & uVar23;
  pcVar38 = pcVar43;
  uVar53 = uVar50;
LAB_000c4d78:
  pcVar43 = pcVar46;
  uVar50 = uVar53;
  if (pcVar22[8] == (code)0x2c) {
    uVar13 = (uint)(byte)*param_4;
    if (uVar13 == 0x9d) {
      pcVar31 = (code *)0x1;
      if (*(int **)(param_4 + 0x14) != (int *)0x0) {
        iVar39 = **(int **)(param_4 + 0x14);
        pcVar38 = *(code **)pcVar17;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c10) + 0x9b4))
                           (pcVar38,*(undefined4 *)(param_4 + 8),iVar39,1,0);
        pcVar42 = (code *)uVar53;
        if (iVar32 == 0) {
LAB_000c55a8:
          cVar15 = pcVar22[8];
          pcVar43 = pcVar46;
        }
        else {
          pcStack_190 = *(code **)(iVar32 + 4);
          if (((uint)pcStack_190 & 4) == 0) goto LAB_000c55a8;
          iVar29 = *(int *)(param_4 + 0x14);
          if (2 < iVar39) {
            if (**(char **)(iVar29 + 0x2c) == 'j') {
              pbVar7 = *(byte **)(*(char **)(iVar29 + 0x2c) + 8);
              bVar2 = *pbVar7;
              if ((bVar2 != 0) && (pbVar7[1] == 0)) goto LAB_000c50e4;
            }
            goto LAB_000c55a8;
          }
          bStack_155 = 0;
          bVar2 = bStack_155;
LAB_000c50e4:
          bStack_155 = bVar2;
          pbVar7 = *(byte **)(iVar32 + 8);
          pcVar40 = *(char **)(iVar29 + 4);
          bStack_158 = *pbVar7;
          bStack_157 = pbVar7[1];
          bStack_156 = pbVar7[2];
          if (pcVar40 == (char *)0x0) {
LAB_000c5154:
                    /* WARNING: Does not return */
            pcVar31 = (code *)trap(0);
            (*pcVar31)();
          }
          uVar13 = *(uint *)(pcVar40 + 4);
          while ((uVar13 & 0x1000) != 0) {
            if ((uVar13 & 0x40000) == 0) {
              pcVar40 = *(char **)(pcVar40 + 0xc);
            }
            else {
              pcVar40 = *(char **)(*(int *)(pcVar40 + 0x14) + 4);
            }
            if (pcVar40 == (char *)0x0) goto LAB_000c5154;
            uVar13 = *(uint *)(pcVar40 + 4);
          }
          cVar16 = *pcVar40;
          pcVar35 = *(char **)(iVar29 + 0x18);
          if (cVar16 == -0x70) {
            param_1 = (code *)0x0;
            if (-1 < *(int *)(pcVar38 + 0x24) << 8) {
              iVar32 = *(int *)(pcVar40 + 0x20);
              uVar49 = CONCAT44(pcVar35,iVar32);
              param_1 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c48) + 0x6c04))
                                          (*(undefined4 *)(pcVar17 + 0xd8),iVar32);
              if (param_1 == (code *)0x0) {
                iVar39 = *(int *)(pcVar17 + 8);
                uVar13 = *(uint *)(iVar39 + 0xd0);
              }
              else {
                iVar39 = (**(code **)(puVar47 + 0x96b30))(param_1);
                if (iVar39 == 3) {
                  pbVar7 = (byte *)(**(code **)(puVar47 + 0x96b4c))(param_1);
                  iVar39 = *(int *)(pcVar17 + 8);
                  if (iVar32 < 0x20) {
                    uVar13 = 1 << (iVar32 - 1U & 0x1f);
                    uVar49 = CONCAT44(pcVar35,uVar13);
                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | uVar13;
                    param_5 = pcVar17;
                  }
                  else {
                    *(uint *)(iVar39 + 0xd0) = *(uint *)(iVar39 + 0xd0) | 0x80000000;
                    param_5 = pcVar17;
                  }
                  goto LAB_000c517c;
                }
                iVar39 = *(int *)(pcVar17 + 8);
                uVar13 = *(uint *)(iVar39 + 0xd0);
              }
              if (iVar32 < 0x20) {
                *(uint *)(iVar39 + 0xd0) = 1 << (iVar32 - 1U & 0x1f) | uVar13;
                param_5 = pcVar17;
                uVar49 = CONCAT44(pcVar35,iVar32 - 1U);
              }
              else {
                *(uint *)(iVar39 + 0xd0) = uVar13 | 0x80000000;
                param_5 = pcVar17;
              }
            }
          }
          else {
            param_1 = (code *)0x0;
            if (cVar16 == 'j') {
              pbVar7 = *(byte **)(pcVar40 + 8);
LAB_000c517c:
              pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
              iVar32 = (int)uVar49;
              if (pbVar7 != (byte *)0x0) {
                in_t4 = (code *)(uint)*pbVar7;
                in_t2 = (code *)(uint)bStack_157;
                in_t3 = (code *)(uint)bStack_156;
                pcVar48 = (code *)(uint)bStack_155;
                pcVar27 = in_t4;
                iVar39 = 0;
                while ((((iVar29 = iVar39, pcVar42 = pcVar48, pcVar27 != (code *)0x0 &&
                         ((code *)(uint)bStack_158 != pcVar27)) && (in_t2 != pcVar27)) &&
                       (iVar32 = iVar29 + 1, in_t3 != pcVar27))) {
                  pcVar31 = (code *)(pbVar7 + iVar32);
                  bVar45 = pcVar48 == pcVar27;
                  pcVar27 = (code *)(uint)(byte)*pcVar31;
                  iVar39 = iVar32;
                  if (bVar45) {
                    if (pcVar27 == (code *)0x0) goto LAB_000c51d0;
                    iVar32 = iVar29 + 2;
                    pcVar27 = (code *)(uint)pbVar7[iVar32];
                    iVar39 = iVar32;
                  }
                }
                pcVar31 = (code *)(pbVar7 + iVar29);
                iVar39 = iVar29;
                uVar49 = CONCAT44(pcStack_1a4,iVar32);
                if (iVar29 != 0) {
LAB_000c51d0:
                  uVar50 = CONCAT44(pcVar35,iVar39);
                  uVar49 = CONCAT44(pcStack_1a4,iVar39);
                  if ((pcVar31[-1] != (code)0xff) &&
                     ((iVar39 != 1 || (uVar49 = CONCAT44(pcStack_1a4,iVar39), pcVar48 != in_t4)))) {
                    if ((code *)(uint)bStack_158 == pcVar27) {
                      pcStack_18c = (code *)(uint)(pcVar31[1] == (code)0x0);
                    }
                    else {
                      pcStack_18c = (code *)0x0;
                    }
                    pcVar36 = pcVar35;
                    param_5 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c10) + -0x19d0))
                                                (pcVar38,0x6a,pbVar7);
                    pcStack_188 = pcVar48;
                    if (param_5 == (code *)0x0) {
                      if (cVar16 == -0x70) {
LAB_000c6c34:
                        piVar41 = *(int **)(pcVar17 + 8);
                        if (*(int *)(pcVar40 + 0x20) < 0x20) {
                          uVar13 = 1 << (*(int *)(pcVar40 + 0x20) - 1U & 0x1f) | piVar41[0x34];
                        }
                        else {
                          uVar13 = piVar41[0x34] | 0x80000000;
                        }
                        piVar41[0x34] = uVar13;
                        iVar32 = *(int *)(puVar47 + 0x96c10);
                        pcVar35 = pcVar36;
                        if ((pcStack_18c != (code *)0x0) &&
                           (*(char *)(*(int *)(pcVar40 + 8) + 1) != '\0')) {
                          cVar15 = (code)((char)pcVar17[0x13] - 1);
                          if (pcVar17[0x13] == (code)0x0) {
                            iVar32 = *(int *)(pcVar17 + 0x2c) + 1;
                            *(int *)(pcVar17 + 0x2c) = iVar32;
                          }
                          else {
                            pcVar17[0x13] = cVar15;
                            iVar32 = *(int *)(pcVar17 + ((byte)cVar15 + 0x24) * 4);
                          }
                          FUN_000bea74(pcVar17,pcVar40,iVar32);
                          if (*(char *)(*piVar41 + 0x51) == '\0') {
                            iVar39 = (piVar41[0x1b] + -1) * 0x14 + piVar41[0x1a];
                          }
                          else {
                            iVar39 = *(int *)(puVar47 + 0x96b10) + -0x4514;
                          }
                          *(undefined4 *)(iVar39 + 0xc) = 0;
                          if (iVar32 != 0) {
                            (*(code *)(*(int *)(puVar47 + 0x96bf8) + -0x7cb0))(pcVar17,iVar32);
                          }
                          iVar32 = *(int *)(puVar47 + 0x96c10);
                          pcVar35 = pcVar36;
                        }
                        pcVar31 = (code *)0x0;
                        (*(code *)(iVar32 + -0x4bcc))(param_1);
                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
                        pcVar36 = pcVar35;
                        if (param_5 != (code *)0x0) goto LAB_000c52d0;
                      }
                      else {
                        pcVar31 = (code *)0x0;
                        (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
                        pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
                      }
                    }
                    else {
                      in_t2 = *(code **)(param_5 + 8);
                      iVar29 = 0;
                      in_t2[iVar39] = (code)0x0;
                      iVar32 = 0;
                      do {
                        cVar15 = in_t2[iVar32];
                        iVar19 = iVar32 + 1;
                        if ((code *)(int)(char)cVar15 == pcVar48) {
                          pcVar31 = in_t2 + iVar19;
                          iVar19 = iVar32 + 2;
                          cVar15 = *pcVar31;
                        }
                        iVar29 = iVar29 + 1;
                        in_t3 = in_t2 + iVar29;
                        in_t3[-1] = cVar15;
                        iVar32 = iVar19;
                      } while (iVar19 < iVar39);
                      iVar32 = *(int *)(puVar47 + 0x96bcc);
                      *in_t3 = (code)0x0;
                      cVar15 = *in_t2;
                      pcVar31 = (code *)(iVar32 + -0x7b28 + (uint)(byte)cVar15);
                      if (((((byte)*pcVar31 & 4) != 0) || (cVar15 == (code)0x2d)) ||
                         ((pcVar42 = pcVar48, cVar15 == (code)0x2f && (iVar29 == 1)))) {
                        iVar32 = *(int *)(puVar47 + 0x96bf8);
                        pcVar42 = pcVar48;
                        pcVar36 = pcVar35;
                        if (*pcVar35 == -0x62) {
                          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96b94) + 0x5914))(pcVar35);
                          if ((iVar32 == 0x42) &&
                             (pcVar36 = pcVar35, *(int *)(*(int *)(pcVar35 + 0x30) + 0x38) == 0))
                          goto LAB_000c52ac;
                          iVar32 = *(int *)(puVar47 + 0x96bf8);
                        }
                        (*(code *)(iVar32 + 0x7bc4))(pcVar38,param_5);
                        pcVar35 = pcVar36;
                        uVar49 = uVar50;
                        goto LAB_000c6178;
                      }
LAB_000c52ac:
                      pcVar36 = pcVar35;
                      if (cVar16 == -0x70) goto LAB_000c6c34;
                      (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
                      pcStack_1a4 = *(code **)(*(int *)(param_4 + 0x14) + 0x18);
LAB_000c52d0:
                      pcVar31 = (code *)(*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))
                                                  (pcVar6,param_5,0,0);
                      pcVar36 = pcVar35;
                    }
                    if (((uint)pcStack_190 & 8) == 0) {
                      if (*(char *)(*(int *)pcVar17 + 0x51) == '\0') {
                        *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x400;
                        pcVar27 = *(code **)(param_5 + 8);
                        cVar15 = *pcVar27;
                        if (cVar15 != (code)0x0) {
                          iVar39 = *(int *)(puVar47 + 0x96bcc);
                          in_t2 = (code *)0x0;
                          iVar32 = *(int *)(puVar47 + 0x96bcc);
                          do {
                            pcVar42 = (code *)(iVar39 + -0x7b28 + (uint)(byte)cVar15);
                            cVar24 = *(code *)(iVar32 + -0x7a28 + (uint)(byte)cVar15);
                            *pcVar27 = (code)((byte)cVar15 & ~((byte)*pcVar42 & 0x20));
                            pcVar27 = in_t2 + *(int *)(pcVar31 + 8);
                            in_t2 = in_t2 + 1;
                            *pcVar27 = cVar24;
                            pcVar27 = in_t2 + *(int *)(param_5 + 8);
                            cVar15 = *pcVar27;
                          } while (cVar15 != (code)0x0);
                        }
                      }
                      if (pcVar6[0x51] == (code)0x0) {
                        iVar32 = *(int *)(pcVar31 + 8);
                        if (iVar32 == 0) {
                          bVar2 = *(byte *)(in_zero + -1);
                          pbVar7 = (byte *)0xffffffff;
                        }
                        else {
                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);
                          pbVar7 = (byte *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));
                          bVar2 = *pbVar7;
                        }
                        if (bVar2 == 0x40) {
                          pcStack_18c = (code *)0x0;
                        }
                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;
                        *pbVar7 = *(char *)((uint)bVar2 + *(int *)(puVar47 + 0x96bcc) + -0x7a28) + 1
                        ;
                      }
                      else {
                        iVar32 = *(int *)(puVar47 + 0x96b34) + -0x6e0c;
                      }
                    }
                    else {
                      iVar32 = *(int *)(puVar47 + 0x96bcc);
                      if (pcVar6[0x51] == (code)0x0) {
                        iVar32 = *(int *)(pcVar31 + 8);
                        if (iVar32 == 0) {
                          cRamffffffff = *(char *)(in_zero + -1) + '\x01';
                        }
                        else {
                          uVar13 = (**(code **)(puVar47 + 0x96efc))(iVar32);
                          pcVar40 = (char *)(iVar32 + ((uVar13 & 0x3fffffff) - 1));
                          *pcVar40 = *pcVar40 + '\x01';
                        }
                        iVar32 = *(int *)(puVar47 + 0x96bcc);
                      }
                      iVar32 = iVar32 + -0x7be0;
                    }
                    iVar39 = *(int *)(puVar47 + 0x96c38);
                    if (pcStack_1a4 == (code *)0x0) {
                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);
                      uVar8 = (*param_1)(pcVar17,0,iVar32);
                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);
                      iVar39 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);
                      if (iVar39 == 0) {
                        iVar29 = *(int *)(puVar47 + 0x96c38);
                        iVar39 = 0;
                      }
                      else {
                        iVar29 = *(int *)(puVar47 + 0x96c38);
                        *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | *(uint *)(param_4 + 4) & 1;
                        *(undefined2 *)(iVar39 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                      }
                      pcVar46 = (code *)(iVar29 + -0x73f4);
                      param_5 = (code *)(*pcVar46)(pcVar22,iVar39,0x103);
                      iVar29 = *(int *)(puVar47 + 0x96dac);
                      FUN_000c4ac8(pcVar26,pcVar22,param_5);
                    }
                    else {
                      uVar8 = (*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);
                      param_1 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x4864);
                      uVar8 = (*param_1)(pcVar17,uVar8,iVar32);
                      pcVar27 = (code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4);
                      iVar29 = (*pcVar27)(pcVar17,0x39,uVar8,param_5);
                      if (iVar29 == 0) {
                        iVar19 = *(int *)(puVar47 + 0x96c38);
                        iVar29 = 0;
                      }
                      else {
                        iVar19 = *(int *)(puVar47 + 0x96c38);
                        *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;
                        *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                      }
                      pcVar46 = (code *)(iVar19 + -0x73f4);
                      param_5 = (code *)(*pcVar46)(pcVar22,iVar29,0x103);
                      iVar29 = *(int *)(puVar47 + 0x96dac);
                      FUN_000c4ac8(pcVar26,pcVar22,param_5);
                      pcStack_1a4 = (code *)(*(code *)(iVar39 + -0x271c))(pcVar6,pcStack_1a4,0,0);
                    }
                    pcStack_190 = (code *)(iVar29 + 0x4ac8);
                    uVar8 = (*param_1)(pcVar17,pcStack_1a4,iVar32);
                    iVar32 = (*pcVar27)(pcVar17,0x38,uVar8);
                    if (iVar32 != 0) {
                      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | *(uint *)(param_4 + 4) & 1;
                      *(undefined2 *)(iVar32 + 0x26) = *(undefined2 *)(param_4 + 0x26);
                    }
                    pcVar38 = (code *)(*pcVar46)(pcVar22,iVar32,0x103);
                    (*pcStack_190)(pcVar26,pcVar22,pcVar38);
                    pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
                    uVar49 = CONCAT44(pcStack_1a4,pcVar17);
                    uVar53 = CONCAT44(pcVar36,pcVar42);
                    if (pcStack_18c != (code *)0x0) {
                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 0x10) =
                           pcStack_120;
                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)param_5 * 0x30 + 8) =
                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
                      *(code **)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 0x10) =
                           pcStack_120;
                      *(undefined2 *)(*(int *)(pcVar22 + 0x14) + (int)pcVar38 * 0x30 + 8) =
                           *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
                      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
                      uVar49 = CONCAT44(pcStack_1a4,pcVar17);
                      uVar53 = CONCAT44(pcVar36,pcVar42);
                    }
                    goto LAB_000c55a8;
                  }
                }
              }
            }
          }
LAB_000c6178:
          (*(code *)(*(int *)(puVar47 + 0x96c10) + -0x4bcc))(param_1);
          uVar53 = CONCAT44(pcVar35,pcVar42);
          cVar15 = pcVar22[8];
        }
        uVar50 = uVar53;
        if (cVar15 != (code)0x2c) goto LAB_000c4d88;
        uVar13 = (uint)(byte)*param_4;
      }
    }
    uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);
    uVar18 = (uint)uVar53;
    uVar51 = CONCAT44(param_1,param_5);
    cVar15 = (code)0x2c;
    if (uVar13 == 0x9d) {
      pcVar38 = *(code **)(param_4 + 0x14);
      uVar50 = uVar53;
      if ((pcVar38 != (code *)0x0) && (*(int *)pcVar38 == 2)) {
        pcVar42 = *(code **)(pcVar38 + 0x18);
        if ((*pcVar42 == (code)0x9e) &&
           (cVar24 = (code)0x6d, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {
          in_t4 = (code *)0x0;
          in_t6 = (code *)(uint)**(byte **)(param_4 + 8);
          iVar32 = *(int *)(puVar47 + 0x96bcc) + -0x7a28;
          in_t3 = (code *)(*(int *)(puVar47 + 0x96b10) + -0x6da4);
          pbVar7 = (byte *)(*(int *)(puVar47 + 0x96b34) + -0xfb4);
          in_t5 = in_t3;
          while( true ) {
            pbVar30 = *(byte **)(param_4 + 8);
            pcVar27 = in_t6;
            if (in_t6[iVar32] == cVar24) {
              do {
                if (pcVar27 == (code *)0x0) {
                  uVar53 = CONCAT44(uVar8,uVar18);
                  pcVar46 = *(code **)(pcVar38 + 4);
                  uVar18 = 1;
                  in_t4 = in_t3 + (int)in_t4 * 8;
                  pcStack_18c = (code *)(uint)(byte)in_t4[4];
                  goto LAB_000c5c84;
                }
                pbVar30 = pbVar30 + 1;
                pbVar1 = pbVar7 + 1;
                pcVar31 = (code *)(uint)*pbVar30;
                uVar18 = (uint)(byte)pcVar31[iVar32];
                pbVar7 = pbVar7 + 1;
                pcVar27 = pcVar31;
              } while (uVar18 == *(byte *)(iVar32 + (uint)*pbVar1));
            }
            in_t4 = in_t4 + 1;
            in_t5 = in_t5 + 8;
            if (in_t4 == (code *)&DAT_00000004) break;
            pbVar7 = *(byte **)in_t5;
            cVar24 = *(code *)(iVar32 + (uint)*pbVar7);
          }
        }
        uVar53 = CONCAT44(uVar8,uVar18);
        pcVar42 = *(code **)(pcVar38 + 4);
        uVar50 = CONCAT44(uVar8,uVar18);
        if ((*pcVar42 == (code)0x9e) &&
           (uVar50 = uVar53, *(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0)) {
          puVar20 = *(undefined4 **)(*(int *)(pcVar42 + 0x30) + 0x40);
          if (puVar20 == (undefined4 *)0x0) {
LAB_000c7224:
                    /* WARNING: Does not return */
            pcVar31 = (code *)trap(0);
            (*pcVar31)();
          }
          pcVar31 = (code *)*puVar20;
          while (pcVar6 != pcVar31) {
            puVar20 = (undefined4 *)puVar20[6];
            if (puVar20 == (undefined4 *)0x0) goto LAB_000c7224;
            pcVar31 = (code *)*puVar20;
          }
          pcVar27 = *(code **)(*(int *)puVar20[2] + 0x48);
          pcVar31 = (code *)auStack_168;
          if (pcVar27 != (code *)0x0) {
            uVar13 = (*pcVar27)((int *)puVar20[2],2,*(undefined4 *)(param_4 + 8),pcVar31,auStack_164
                               );
            uVar53 = CONCAT44(uVar8,uVar18);
            if (0x95 < (int)uVar13) {
              pcStack_18c = (code *)(uVar13 & 0xff);
              pcVar46 = *(code **)(pcVar38 + 0x18);
              uVar18 = 1;
              goto LAB_000c5c84;
            }
            goto LAB_000c609c;
          }
          goto LAB_000c60a0;
        }
      }
    }
    else {
      if ((uVar13 == 0x9c) || (uVar13 - 0x33 < 2)) {
        pcVar42 = *(code **)(param_4 + 0xc);
        pcVar27 = *(code **)(param_4 + 0x10);
        if (*pcVar42 == (code)0x9e) {
          uVar18 = (uint)(*(int *)(*(int *)(pcVar42 + 0x30) + 0x38) != 0);
        }
        else {
          uVar18 = 0;
        }
        pcVar46 = pcVar27;
        if (((pcVar27 != (code *)0x0) && (*pcVar27 == (code)0x9e)) &&
           (*(int *)(*(int *)(pcVar27 + 0x30) + 0x38) != 0)) {
          uVar18 = uVar18 + 1;
          pcVar46 = pcVar42;
          pcVar42 = pcVar27;
        }
        if (uVar13 == 0x34) {
          pcStack_18c = (code *)0x44;
        }
        else if (uVar13 == 0x9c) {
          pcStack_18c = (code *)0x45;
        }
        else {
          pcStack_18c = (code *)0x46;
          if (uVar13 != 0x33) {
            pcStack_18c = (code *)0x0;
          }
        }
LAB_000c5c84:
        pcStack_188 = *(code **)(puVar47 + 0x96c38);
        iVar32 = *(int *)(puVar47 + 0x96c78);
        pcStack_190 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
LAB_000c5d04:
        pcVar27 = pcVar42;
        pcVar38 = pcVar46;
        uVar18 = uVar18 - 1;
        if (uVar18 != 0xffffffff) {
          pcVar46 = pcVar27;
          pcVar42 = pcVar38;
          if (pcVar38 != (code *)0x0) goto LAB_000c5cbc;
          if (pcVar27 != (code *)0x0) {
            (*pcStack_1b0)(pcStack_1b8,pcVar27);
          }
          pcVar31 = (code *)0x0;
          uVar51 = 0;
          goto LAB_000c5d38;
        }
        uVar49 = CONCAT44((code *)(iVar32 + 0x26b4),0xffffffff);
LAB_000c609c:
        cVar15 = pcVar22[8];
LAB_000c60a0:
        param_1 = (code *)(uVar51 >> 0x20);
        param_5 = (code *)uVar51;
        uVar50 = uVar53;
        if (cVar15 != (code)0x2c) goto LAB_000c4d88;
        uVar13 = (uint)(byte)*param_4;
      }
      uVar8 = (undefined4)((ulonglong)uVar53 >> 0x20);
      uVar9 = (undefined4)uVar51;
      pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
      pcVar42 = (code *)uVar49;
      if ((uVar13 == 0x35) || (uVar13 == 0x2d)) {
        pcVar40 = *(char **)(param_4 + 0xc);
        cVar16 = *pcVar40;
        if (cVar16 == -0x5c) {
          cVar16 = pcVar40[0x28];
        }
        if (cVar16 == -0x5b) {
          param_1 = (code *)**(undefined4 **)(pcVar40 + 0x14);
        }
        else {
          if (cVar16 != '\x7f') goto LAB_000c55f8;
          param_1 = *(code **)**(undefined4 **)(pcVar40 + 0x14);
        }
        uVar51 = CONCAT44(param_1,uVar9);
        if (1 < (int)param_1) {
          pcVar35 = *(char **)(param_4 + 0x10);
          cVar16 = *pcVar35;
          if (cVar16 == -0x5c) {
            cVar16 = pcVar35[0x28];
          }
          if (cVar16 == -0x5b) {
            pcVar27 = (code *)**(undefined4 **)(pcVar35 + 0x14);
          }
          else {
            uVar51 = CONCAT44(param_1,uVar9);
            if (cVar16 != '\x7f') goto LAB_000c55f8;
            pcVar27 = *(code **)**(undefined4 **)(pcVar35 + 0x14);
          }
          uVar51 = CONCAT44(param_1,uVar9);
          if ((param_1 == pcVar27) &&
             (((*(uint *)(pcVar40 + 4) & 0x800) == 0 ||
              (uVar51 = CONCAT44(param_1,uVar9), (*(uint *)(pcVar35 + 4) & 0x800) == 0)))) {
            pcVar42 = (code *)0x0;
            iVar32 = *(int *)(puVar47 + 0x96c78);
            iVar39 = *(int *)(puVar47 + 0x96c78);
            pcStack_190 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
            pcVar38 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
            while( true ) {
              uVar9 = (*(code *)(iVar39 + 0x294c))(pcVar17,pcVar40,pcVar42);
              pcVar31 = (code *)(*(code *)(iVar39 + 0x294c))
                                          (pcVar17,*(undefined4 *)(param_4 + 0x10),pcVar42);
              iVar29 = (*(code *)(iVar32 + 0x26b4))(pcVar17,*param_4,uVar9);
              if (iVar29 != 0) {
                *(uint *)(iVar29 + 4) = *(uint *)(iVar29 + 4) | *(uint *)(param_4 + 4) & 1;
                *(undefined2 *)(iVar29 + 0x26) = *(undefined2 *)(param_4 + 0x26);
              }
              uVar9 = (*pcVar38)(pcVar22,iVar29,1);
              pcVar42 = pcVar42 + 1;
              uVar49 = CONCAT44(pcStack_1a4,pcVar42);
              (*pcStack_190)(pcVar26,pcVar22,uVar9);
              if (pcVar42 == param_1) break;
              pcVar40 = *(char **)(param_4 + 0xc);
            }
            uVar53 = CONCAT44(uVar8,*(int *)(pcVar22 + 0x14));
            pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);
            *(undefined2 *)(pcVar43 + 0xc) = 0;
            *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 6;
            param_5 = pcVar17;
            uVar50 = uVar53;
            if (pcVar22[8] != (code)0x2c) goto LAB_000c4d88;
            uVar13 = (uint)(byte)*param_4;
            uVar51 = CONCAT44(param_1,pcVar17);
          }
        }
      }
LAB_000c55f8:
      param_1 = (code *)(uVar51 >> 0x20);
      param_5 = (code *)uVar51;
      uVar49 = CONCAT44(pcStack_1a4,pcVar42);
      uVar50 = uVar53;
      if (uVar13 == 0x31) {
        iVar32 = *(int *)(pcVar43 + 0x18);
        uVar49 = CONCAT44(pcStack_1a4,iVar32);
        if (((iVar32 == 0) &&
            (pcVar40 = *(char **)(param_4 + 0xc), uVar49 = CONCAT44(pcStack_1a4,iVar32),
            *pcVar40 == -0x5b)) &&
           (iVar39 = *(int *)(puVar47 + 0x96c38), uVar49 = CONCAT44(pcStack_1a4,iVar32),
           *(int *)(*(int *)(param_4 + 0x14) + 0x34) == 0)) {
          param_1 = (code *)0xa5;
          pcVar38 = (code *)(*(int *)(puVar47 + 0x96dac) + 0x4ac8);
          cVar16 = -0x5b;
          iVar32 = 0;
          while( true ) {
            uVar49 = CONCAT44(pcStack_1a4,iVar32);
            if (cVar16 == -0x5b) {
              iVar29 = **(int **)(pcVar40 + 0x14);
            }
            else if (cVar16 == '\x7f') {
              iVar29 = *(int *)**(undefined4 **)(pcVar40 + 0x14);
            }
            else {
              iVar29 = 1;
            }
            param_5 = pcStack_19c;
            uVar50 = uVar53;
            if (iVar29 <= iVar32) break;
            iVar29 = (*(code *)(iVar39 + -0x73f4))(pcVar22,param_4,2);
            iVar32 = iVar32 + 1;
            pcVar43 = (code *)(iVar29 * 0x30);
            *(int *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x18) = iVar32;
            FUN_000c4ac8(pcVar26,pcVar22,iVar29);
            *(code **)(pcVar43 + *(int *)(pcVar22 + 0x14) + 0x10) = pcStack_120;
            *(undefined2 *)(pcVar43 + *(int *)(pcVar22 + 0x14) + 8) =
                 *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
            pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
                 (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
            pcVar40 = *(char **)(param_4 + 0xc);
            cVar16 = *pcVar40;
            if (cVar16 == -0x5c) {
              cVar16 = pcVar40[0x28];
            }
          }
        }
      }
    }
  }
LAB_000c4d88:
  pcStack_1a4 = (code *)((ulonglong)uVar49 >> 0x20);
  pcVar42 = (code *)uVar49;
  iVar32 = *(int *)(pcVar22 + 0x14);
  *(uint *)(pcStack_19c + iVar32 + 0x20) = *(uint *)(pcStack_19c + iVar32 + 0x20) | uStack_198;
  *(uint *)(pcStack_19c + iVar32 + 0x24) = *(uint *)(pcStack_19c + iVar32 + 0x24) | uStack_194;
  pcVar27 = pcVar22;
  uVar53 = uVar50;
  uVar50 = CONCAT44(pcStack_190,pcStack_18c);
LAB_000c4c58:
  if (iStack_154 == *piVar5) {
    return;
  }
  (**(code **)(puVar47 + 0x96f48))();
  pcVar46 = param_5;
LAB_000c7158:
  uVar13 = 0;
LAB_000c6df0:
  uVar18 = 1 << (uVar13 & 0x1f);
  if ((uVar13 & 0x20) == 0) {
    uVar13 = 0;
  }
  else {
    uVar13 = uVar18;
    uVar18 = 0;
  }
  in_t2 = (code *)((uint)in_t2 | uVar18);
  in_t3 = (code *)((uint)in_t3 | uVar13);
  while( true ) {
    pcVar37 = (code *)((ulonglong)uVar53 >> 0x20);
    pcVar48 = (code *)((int)uVar53 + 1);
    pcVar31 = pcVar31 + 0x30;
    if (pcVar37 == pcVar48) break;
LAB_000c6d54:
    uVar53 = CONCAT44(pcVar37,pcVar48);
    if ((((**(byte **)pcVar31 - 0x2d & 0xff) < 0xd) &&
        ((int)(((uint)in_t4 >> (**(byte **)pcVar31 - 0x2d & 0x1f)) << 0x1f) < 0)) ||
       ((code *)(uint)*(ushort *)(pcVar31 + 0xc) == in_t5)) {
      if (0 < (int)*(uint *)(in_t6 + 0x1ec)) {
        if (*(int *)(in_t6 + 0x1f0) == *(int *)(pcVar31 + 0x14)) goto LAB_000c7158;
        uVar18 = 1;
        pcVar22 = in_t6 + 500;
        while (uVar13 = uVar18, uVar13 != *(uint *)(in_t6 + 0x1ec)) {
          iVar32 = *(int *)pcVar22;
          uVar18 = uVar13 + 1;
          pcVar22 = pcVar22 + 4;
          if (*(int *)(pcVar31 + 0x14) == iVar32) goto LAB_000c6df0;
        }
      }
    }
  }
  uVar13 = 0;
  param_5 = (code *)0x0;
  pcStack_188 = (code *)((uint)pcStack_188 & (uint)in_t3);
  pcStack_184 = (code *)((uint)pcStack_184 & (uint)in_t2);
  pcVar22 = pcVar27;
  while( true ) {
    pcVar42 = pcVar42 + -1;
    pcVar46 = pcVar46 + 0x30;
    if (pcVar42 == pcVar38) break;
    if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5efc;
LAB_000c5ae4:
    pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);
    pcStack_18c = (code *)uVar50;
    if ((*(ushort *)(pcVar46 + 0xc) & 0x1ff) == 0) {
      if (param_1[0x51] != (code)0x0) {
LAB_000c5b1c:
        uVar13 = 0;
        param_5 = (code *)0x0;
        goto LAB_000c5b24;
      }
      pcVar31 = (code *)0x198;
      puVar20 = (undefined4 *)(*pcStack_17c)(param_1);
      if (puVar20 == (undefined4 *)0x0) goto LAB_000c5b1c;
      pcVar27 = *(code **)(puVar47 + 0x96eec);
      *(undefined4 **)(pcVar46 + 0x1c) = puVar20;
      *(undefined2 *)(pcVar46 + 0xc) = 0x400;
      *(ushort *)(pcVar46 + 10) = *(ushort *)(pcVar46 + 10) | 0x20;
      uVar8 = (*pcVar27)(puVar20 + 6,0,0x180);
      uVar9 = *(undefined4 *)pcVar22;
      *(undefined1 *)((int)puVar20 + 9) = 0;
      *puVar20 = uVar9;
      puVar20[1] = 0;
      puVar20[3] = 0;
      puVar20[4] = 8;
      puVar20[5] = uVar8;
      (*pcStack_174)(puVar20,*(undefined4 *)pcVar46,0x2c);
      pcVar27 = (code *)(puVar20[3] + -1);
      in_t4 = param_5;
      if (-1 < (int)pcVar27) {
        do {
          pcVar48 = pcVar27 + -1;
          (*pcStack_190)(pcVar26,puVar20,pcVar27);
          in_t4 = param_5;
          pcVar27 = pcVar48;
        } while (pcVar48 != pcVar38);
      }
      puVar20[1] = pcVar22;
      if (param_1[0x51] != (code)0x0) {
        if (pcVar42 != (code *)0x0) {
          uVar13 = 0;
          param_5 = (code *)0x0;
          goto LAB_000c5efc;
        }
LAB_000c7130:
        *(undefined4 *)(pcVar43 + 0x19c) = 0;
        *(undefined4 *)(pcVar43 + 0x198) = 0;
        *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
        pcVar27 = pcVar38;
        param_5 = pcVar46;
        goto LAB_000c5c2c;
      }
      pcVar37 = (code *)puVar20[3];
      pcVar31 = (code *)puVar20[5];
      if ((int)pcVar37 < 1) {
        if (pcVar42 != (code *)0x0) goto LAB_000c7130;
        *(undefined4 *)(pcVar43 + 0x19c) = 0;
        uVar13 = 0;
        *(undefined4 *)(pcVar43 + 0x198) = 0;
        param_5 = (code *)0x0;
        goto LAB_000c5f04;
      }
      pcVar48 = (code *)0x0;
      in_t3 = (code *)0x0;
      in_t2 = (code *)0x0;
      in_t5 = (code *)0x40;
      in_t4 = (code *)0x1f31;
      in_t6 = pcStack_1a4;
      pcVar27 = pcVar22;
      goto LAB_000c6d54;
    }
    uVar23 = *(ushort *)(pcVar46 + 10);
    if ((uVar23 & 8) != 0) goto LAB_000c5b24;
    pcVar31 = (code *)(uVar23 & 2);
    uVar18 = *(uint *)(pcStack_1a4 + 0x1ec);
    if ((int)uVar18 < 1) {
      uVar34 = 0;
      uVar21 = 0;
    }
    else {
      in_t2 = *(code **)(pcStack_1a4 + 0x1f0);
      if (*(code **)(pcVar46 + 0x14) == in_t2) {
        uVar21 = 0;
      }
      else {
        uVar21 = 0;
        pcVar27 = pcStack_1a4 + 500;
        do {
          uVar21 = uVar21 + 1;
          if (uVar21 == uVar18) {
            uVar21 = 0;
            uVar34 = 0;
            goto LAB_000c6208;
          }
          pcVar48 = *(code **)pcVar27;
          pcVar27 = pcVar27 + 4;
        } while (*(code **)(pcVar46 + 0x14) != pcVar48);
      }
      uVar11 = 1 << (uVar21 & 0x1f);
      if ((uVar21 & 0x20) == 0) {
        uVar34 = 0;
        uVar21 = uVar11;
      }
      else {
        uVar21 = 0;
        uVar34 = uVar11;
      }
LAB_000c6208:
      if ((uVar23 & 2) != 0) {
        pcVar31 = *(code **)(pcVar46 + 0x10);
        pcVar37 = *(code **)(*(int *)(pcVar43 + 0x14) + (int)pcVar31 * 0x30 + 0x14);
        uVar11 = 0;
        if (pcVar37 != in_t2) {
          uVar4 = 1;
          pcVar27 = pcStack_1a4 + 500;
          do {
            uVar11 = uVar4;
            if (uVar11 == uVar18) goto LAB_000c6210;
            pcVar31 = *(code **)pcVar27;
            uVar4 = uVar11 + 1;
            pcVar27 = pcVar27 + 4;
          } while (pcVar31 != pcVar37);
        }
        uVar18 = 1 << (uVar11 & 0x1f);
        if ((uVar11 & 0x20) == 0) {
          uVar11 = 0;
        }
        else {
          uVar11 = uVar18;
          uVar18 = 0;
        }
        uVar21 = uVar21 | uVar18;
        uVar34 = uVar34 | uVar11;
      }
    }
LAB_000c6210:
    pcStack_188 = (code *)((uint)pcStack_188 & uVar34);
    pcStack_184 = (code *)((uint)pcStack_184 & uVar21);
    if ((*(ushort *)(pcVar46 + 0xc) & 2) == 0) {
      uVar13 = 0;
      param_5 = (code *)0x0;
    }
    else {
      uVar13 = uVar13 & uVar34;
      param_5 = (code *)((uint)param_5 & uVar21);
    }
  }
LAB_000c5b30:
  pcStack_18c = (code *)uVar50;
  *(code **)(pcVar43 + 0x198) = pcStack_188;
  *(code **)(pcVar43 + 0x19c) = pcStack_184;
  if (pcStack_188 == (code *)0x0 && pcStack_184 == (code *)0x0) goto LAB_000c5f04;
  *(undefined2 *)(pcStack_18c + 0xc) = 0x200;
  pcVar22[9] = (code)0x1;
  in_t4 = param_5;
  if (*(int *)(pcVar43 + 0xc) == 2) {
LAB_000c6e58:
    piVar41 = *(int **)(pcVar43 + 0x14);
    pcStack_188 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);
    pcStack_17c = (code *)(*(int *)(puVar47 + 0x96c38) + -0x271c);
    pcStack_174 = (code *)(*(int *)(puVar47 + 0x96c38) + -0x73f4);
    pcVar27 = (code *)0x0;
LAB_000c6e8c:
    uVar49 = CONCAT44(param_1,pcStack_18c);
    uVar53 = CONCAT44(param_1,pcStack_18c);
    uVar50 = CONCAT44(param_1,pcStack_18c);
    pcStack_18c = pcVar27 + 1;
    in_t4 = param_5;
    pcVar46 = param_5;
    if (*(short *)(piVar41 + 3) == 0x400) {
      uVar50 = uVar53;
      if ((*(int *)(piVar41[7] + 0xc) <= (int)pcVar27) ||
         (piVar44 = (int *)(*(int *)(piVar41[7] + 0x14) + (int)pcVar27 * 0x30), uVar50 = uVar49,
         piVar44 == (int *)0x0)) goto LAB_000c5b6c;
    }
    else {
      piVar44 = piVar41;
      if (pcVar27 != (code *)0x0) goto LAB_000c5b6c;
    }
    pcVar42 = *(code **)(puVar47 + 0x96dac);
    pcVar38 = (code *)0x0;
    sVar28 = *(short *)(piVar41 + 0xf);
    pcStack_184 = pcVar42 + 0x4ac8;
    iVar32 = 0;
    do {
      pcVar27 = pcStack_18c;
      if (sVar28 == 0x400) {
        if (*(int *)(piVar41[0x13] + 0xc) <= iVar32) goto LAB_000c6e8c;
        pcVar38 = (code *)(*(int *)(piVar41[0x13] + 0x14) + iVar32 * 0x30);
      }
      else {
        pcVar38 = (code *)(piVar41 + 0xc);
        if (iVar32 != 0) goto LAB_000c6e8c;
      }
      if (pcVar38 == (code *)0x0) goto LAB_000c6e8c;
      uVar23 = *(ushort *)(piVar44 + 3);
      pcVar42 = (code *)(uint)uVar23;
      if (((uVar23 & 0x3e) != 0) && ((*(ushort *)(pcVar38 + 0xc) & 0x3e) != 0)) {
        uVar23 = uVar23 | *(ushort *)(pcVar38 + 0xc);
        pcVar42 = (code *)(uint)uVar23;
        if ((pcVar42 == (code *)((uint)pcVar42 & 0x1a)) ||
           (pcVar42 == (code *)((uint)pcVar42 & 0x26))) {
          pcVar31 = (code *)0xffffffff;
          iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0xc),
                                  *(undefined4 *)(*(int *)pcVar38 + 0xc));
          if (iVar39 == 0) {
            pcVar31 = (code *)0xffffffff;
            iVar39 = (*pcStack_188)(0,*(undefined4 *)(*piVar44 + 0x10),
                                    *(undefined4 *)(*(int *)pcVar38 + 0x10));
            if (iVar39 == 0) {
              if ((((uint)(pcVar42 + -1) & (uint)pcVar42) != 0) &&
                 (pcVar42 = (code *)&DAT_00000020, (uVar23 & 0x18) != 0)) {
                pcVar42 = (code *)&DAT_00000008;
              }
              pcVar31 = (code *)0x0;
              if ((*piVar44 != 0) &&
                 (puVar12 = (undefined1 *)
                            (*pcStack_17c)(*(undefined4 *)**(undefined4 **)pcVar22,*piVar44,0),
                 puVar12 != (undefined1 *)0x0)) {
                uVar25 = 0x35;
                if (pcVar42 != (code *)&SUB_00000002) {
                  iVar39 = 0x35;
                  do {
                    uVar18 = iVar39 - 0x34;
                    iVar39 = iVar39 + 1;
                    uVar25 = (undefined1)iVar39;
                  } while (pcVar42 != (code *)(2 << (uVar18 & 0x1f)));
                }
                *puVar12 = uVar25;
                uVar8 = (*pcStack_174)(pcVar22,puVar12,3);
                (*pcStack_184)(pcVar26,pcVar22,uVar8);
              }
            }
          }
          piVar41 = *(int **)(pcVar43 + 0x14);
          sVar28 = *(short *)(piVar41 + 0xf);
        }
      }
      iVar32 = iVar32 + 1;
    } while( true );
  }
  goto LAB_000c5b6c;
LAB_000c5cbc:
  uVar51 = (*pcStack_1b0)(pcStack_1b8,pcVar38);
  if ((pcVar27 == (code *)0x0) ||
     (uVar52 = (*pcStack_1b0)(pcStack_1b8,pcVar27), (uVar52 & uVar51) == 0)) {
    pcVar31 = (code *)(*(pcStack_188 + -0x271c))(pcVar6,pcVar38,0,0);
LAB_000c5d38:
    iVar39 = (*(code *)(iVar32 + 0x26b4))(pcVar17,0x2e,0);
    if (((*(uint *)(param_4 + 4) & 1) != 0) && (iVar39 != 0)) {
      *(uint *)(iVar39 + 4) = *(uint *)(iVar39 + 4) | 1;
    }
    iVar39 = (*pcStack_190)(pcVar22,iVar39,3);
    iVar39 = iVar39 * 0x30;
    iVar29 = *(int *)(pcVar22 + 0x14) + iVar39;
    *(ulonglong *)(iVar29 + 0x20) = uVar51;
    *(undefined4 *)(iVar29 + 0x14) = *(undefined4 *)(pcVar27 + 0x1c);
    uVar8 = *(undefined4 *)(pcVar27 + 0x20);
    *(undefined2 *)(iVar29 + 0xc) = 0x40;
    *(undefined4 *)(iVar29 + 0x1c) = uVar8;
    *(char *)(iVar29 + 0xf) = (char)pcStack_18c;
    *(code **)(*(int *)(pcVar22 + 0x14) + iVar39 + 0x10) = pcStack_120;
    *(undefined2 *)(*(int *)(pcVar22 + 0x14) + iVar39 + 8) =
         *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
    pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
         (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
    pcVar43 = pcStack_19c + *(int *)(pcVar22 + 0x14);
    uVar8 = *(undefined4 *)(pcVar43 + 0x28);
    *(ushort *)(pcVar43 + 10) = *(ushort *)(pcVar43 + 10) | 8;
    *(undefined4 *)(iVar29 + 0x2c) = *(undefined4 *)(pcVar43 + 0x2c);
    *(undefined4 *)(iVar29 + 0x28) = uVar8;
  }
  goto LAB_000c5d04;
LAB_000c5efc:
  *(undefined4 *)(pcVar43 + 0x19c) = 0;
  *(undefined4 *)(pcVar43 + 0x198) = 0;
LAB_000c5f04:
  pcStack_18c = (code *)uVar50;
  *(undefined2 *)((int)pcStack_18c + 0xc) = 0x200;
  in_t4 = param_5;
LAB_000c5b6c:
  pcStack_190 = (code *)((ulonglong)uVar50 >> 0x20);
  pcStack_18c = (code *)uVar50;
  pcVar27 = pcVar38;
  param_5 = pcVar46;
  if (uVar13 != 0 || in_t4 != (code *)0x0) {
    iVar32 = *(int *)(pcVar43 + 0xc);
    param_5 = in_t4;
    pcVar27 = pcVar43;
    pcStack_17c = param_1;
LAB_000c5b7c:
    pcVar46 = pcStack_1a4;
    pcStack_18c = (code *)(*(int *)(puVar47 + 0x96b94) + 0x5914);
    pcVar42 = (code *)0x0;
    pcStack_184 = (code *)(*(int *)(puVar47 + 0x96c4c) + -0x429c);
    pcVar31 = (code *)0xffffffff;
    in_t4 = param_5;
    param_1 = pcStack_17c;
LAB_000c5bb0:
    iVar32 = iVar32 + -1;
    piVar41 = *(int **)(pcVar27 + 0x14);
    pcStack_190 = pcVar22;
    if (-1 < iVar32) {
      in_t5 = (code *)0x1;
      in_t4 = (code *)0xffffffff;
      do {
        pcVar38 = (code *)piVar41[5];
        *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) & 0xffbf;
        if ((pcVar38 != pcVar31) && (0 < (int)*(uint *)(pcStack_1a4 + 0x1ec))) {
          if (pcVar38 == *(code **)(pcStack_1a4 + 0x1f0)) {
            uVar18 = 0;
          }
          else {
            uVar18 = 0;
            pcVar43 = pcStack_1a4 + 500;
            do {
              uVar18 = uVar18 + 1;
              if (uVar18 == *(uint *)(pcStack_1a4 + 0x1ec)) goto LAB_000c5c1c;
              pcVar48 = *(code **)pcVar43;
              pcVar43 = pcVar43 + 4;
            } while (pcVar38 != pcVar48);
          }
          uVar21 = 1 << (uVar18 & 0x1f);
          if ((uVar18 & 0x20) == 0) {
            uVar18 = 0;
          }
          else {
            uVar18 = uVar21;
            uVar21 = 0;
          }
          if ((uVar18 & uVar13) != 0 || (uVar21 & (uint)param_5) != 0) goto code_r0x000c6748;
        }
LAB_000c5c1c:
        iVar32 = iVar32 + -1;
        piVar41 = piVar41 + 0xc;
        if (iVar32 == -1) break;
      } while( true );
    }
  }
LAB_000c5c2c:
  uVar49 = CONCAT44(pcStack_1a4,pcVar42);
  pcVar38 = pcVar27;
  pcVar46 = pcStack_19c + *(int *)(pcVar22 + 0x14);
  uVar53 = CONCAT44(pcVar37,*(int *)(pcVar22 + 0x14));
  goto LAB_000c4d78;
LAB_000c5b24:
  pcVar42 = pcVar42 + -1;
  pcVar46 = pcVar46 + 0x30;
  if (pcVar42 == pcVar38) goto LAB_000c5b30;
  goto LAB_000c5ae4;
code_r0x000c6748:
  param_1 = (code *)piVar41[7];
  pcStack_188 = *(code **)(*piVar41 + 0xc);
LAB_000c6784:
  if (param_1 == (code *)piVar41[7]) {
    iVar39 = *piVar41;
    if (param_1 == (code *)&SUB_fffffffe) {
      pcVar31 = (code *)0xffffffff;
      iVar39 = (*pcStack_184)(puStack_180,*(undefined4 *)(iVar39 + 0xc),pcStack_188);
      if (iVar39 != 0) goto LAB_000c6790;
      iVar39 = *piVar41;
    }
    pcStack_174 = (code *)(*pcStack_18c)(*(undefined4 *)(iVar39 + 0x10));
    pcVar43 = (code *)(*pcStack_18c)(*(undefined4 *)(*piVar41 + 0xc));
    if ((pcStack_174 == (code *)0x0) || (pcStack_174 == pcVar43)) {
      *(ushort *)((int)piVar41 + 10) = *(ushort *)((int)piVar41 + 10) | 0x40;
      piVar44 = piVar41;
LAB_000c6768:
      iVar32 = iVar32 + -1;
      piVar41 = piVar44 + 0xc;
      if (iVar32 != -1) {
        if (pcVar38 != (code *)piVar44[0x11]) goto LAB_000c675c;
        goto LAB_000c6784;
      }
      param_5 = (code *)(*(int *)(pcVar27 + 0xc) + -1);
      piVar41 = *(int **)(pcVar27 + 0x14);
      if ((int)param_5 < 0) {
        pcVar31 = (code *)0x0;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,0);
        param_1 = pcStack_17c;
        if (iVar32 == 0) goto LAB_000c5c2c;
        pcVar38 = (code *)0x0;
      }
      else {
        iVar39 = *(int *)(puVar47 + 0x96c38);
        iVar32 = 0;
        pcVar38 = (code *)0x0;
        pcVar42 = (code *)0xffffffff;
        pcVar27 = (code *)(*(int *)(puVar47 + 0x96c48) + -0x52c);
        do {
          if ((*(ushort *)((int)piVar41 + 10) & 0x40) != 0) {
            iVar32 = *(int *)(*piVar41 + 0x10);
            if (iVar32 != 0) {
              iVar32 = (*(code *)(iVar39 + -0x271c))(pcStack_17c,iVar32,0,0);
              pcStack_1a4 = pcVar38;
            }
            pcVar38 = (code *)(*pcVar27)(**(undefined4 **)pcVar46,pcVar38,iVar32);
            iVar32 = *(int *)(*piVar41 + 0xc);
          }
          param_5 = param_5 + -1;
          piVar41 = piVar41 + 0xc;
        } while (param_5 != (code *)0xffffffff);
        if (iVar32 != 0) {
          iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c38) + -0x271c))(pcStack_17c,iVar32,0,0);
        }
        pcVar31 = (code *)0x0;
        iVar32 = (*(code *)(*(int *)(puVar47 + 0x96c78) + 0x26b4))(puStack_180,0x31,iVar32);
        param_5 = pcVar22;
        if (iVar32 == 0) {
          param_1 = pcStack_17c;
          if (pcVar38 != (code *)0x0) {
            (*(code *)(*(int *)(puVar47 + 0x96bf8) + 0x7d30))(pcStack_17c,pcVar38);
          }
          goto LAB_000c5c2c;
        }
      }
      iVar39 = *(int *)(puVar47 + 0x96c38);
      pcVar31 = (code *)(*(uint *)(iStack_178 + 4) & 1);
      *(uint *)(iVar32 + 4) = *(uint *)(iVar32 + 4) | (uint)pcVar31;
      uVar3 = *(undefined2 *)(iStack_178 + 0x26);
      *(code **)(iVar32 + 0x14) = pcVar38;
      *(undefined2 *)(iVar32 + 0x26) = uVar3;
      iVar32 = (*(code *)(iVar39 + -0x73f4))(pcVar22,iVar32,3);
      FUN_000c4ac8(pcVar26,pcVar22,iVar32);
      *(code **)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30 + 0x10) = pcStack_120;
      pcVar27 = (code *)(*(int *)(pcVar22 + 0x14) + iVar32 * 0x30);
      *(undefined2 *)(pcVar27 + 8) = *(undefined2 *)(pcStack_19c + *(int *)(pcVar22 + 0x14) + 8);
      pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] =
           (code)((char)pcStack_19c[*(int *)(pcVar22 + 0x14) + 0xe] + 1);
      param_1 = pcStack_17c;
      goto LAB_000c5c2c;
    }
  }
LAB_000c6790:
  if (pcVar42 != (code *)0x0) goto LAB_000c5c2c;
  iVar32 = *(int *)(pcVar27 + 0xc);
  pcVar42 = (code *)0x1;
  pcVar31 = pcVar38;
  goto LAB_000c5bb0;
LAB_000c675c:
  *(ushort *)((int)piVar44 + 0x3a) = *(ushort *)((int)piVar44 + 0x3a) & 0xffbf;
  piVar44 = piVar41;
  goto LAB_000c6768;
}

